Search and navigate

Pages

Start HereRoadmapTutorialsCheatsheetInterview QuestionsResources

Published tutorials

Building a REST API with Go: The Complete TutorialError Handling in Go: Wrapping, Classification, and APIsFan-Out Fan-In in Go: Parallel Work with ChannelsFuzz Testing in Go: Finding Bugs AutomaticallyGeneric Data Structures in Go: Stack, Queue and SetGeneric Functions in Go: Writing Reusable CodeGin in Go: Build and Test a Small JSON APIGo Benchmarking: Measuring Performance with testing.BGo Channel Patterns: Advanced Recipes That WorkGo Channels: Communication Between GoroutinesGo Concurrency Patterns: A Practical CatalogueGo Constraints: comparable, Ordered and Custom SetsGo Context: Cancellation, Deadlines, and Request ValuesGo defer: Cleanup, Ordering, and Common TrapsGo HTTP Client: Timeouts, JSON, and Reliable RequestsGo HTTP Middleware: Build a Production ChainGo Interview Questions: 25 Answers That Show UnderstandingGo Mutex: Protecting Shared State from Race ConditionsGo net/http: Build an HTTP Server from ScratchGo select Statement: Multiplexing Channels ExplainedGo Tools You Need for a Reliable Development LoopGo Tutorial: From First Program to Backend FoundationsGo Type Parameters: Syntax and Constraints ExplainedGo Worker Pool Pattern: Bounded Concurrency at ScaleGo's Garbage Collector Explained: How Memory Is ManagedGo's Type System Deep Dive: Static Typing Done RightGolang Compilation and Execution ExplainedGolang Developer Salary 2026: US, UK and RemoteGolang File Structure for Modules and ApplicationsGolang Hello World and Your First Go ProgramGolang IDEs: Choose an Editor for Your WorkflowGolang Interfaces: What They Are and How to Use ThemGoroutine Leaks in Go: How to Detect and Prevent ThemGoroutines in Go: Concurrency Without LeaksHow to Download and Install Golang SafelyHow to Learn Golang with a Focused Study PlanIntegration Testing in Go: Testing Real BoundariesJSON in Go: Encoding, Decoding, and ValidationLearn Golang with a Practical Beginner CourseMocking in Go: Test Doubles Without Magicsync.WaitGroup in Go: Coordinating Multiple GoroutinesTable-Driven Tests in Go: The Idiomatic WayTesting in Go: Table Tests, HTTP, Fakes, and CoverageWhat Is Go and How Does a Go Program Work?Why Learn Golang and What Is Go Used For?Writing Unit Tests in Go: A Practical Guide
Open full search and filters →

Privacy policy

Golang Tutorial is designed to collect as little personal information as practical.

Information stored on your device

The interactive roadmap stores completed-step preferences in your browser's local storage. This remains on your device and can be cleared using the roadmap reset control or browser settings.

Hosting and technical logs

The hosting provider may process standard request information such as IP address, browser type, requested URL, and timestamps for security, reliability, and abuse prevention.

Analytics and advertising

Golang Tutorial uses PostHog to measure page traffic and the aggregate completion of newsletter signup and lesson-progress actions. Autocapture and session replay are disabled, persistent browser analytics storage is disabled, and the site does not send email addresses or form contents to analytics. The site does not use analytics for behavioral advertising or cross-site tracking.

Email and newsletter

If you email the site, the message and contact details you provide are used to respond and maintain necessary correspondence. When newsletter signup is enabled, the submitted email address, consent record, signup source, and technical anti-abuse information are temporarily processed through Cloudflare and sent to Resend. The address is added to the newsletter Segment only after the confirmation link is used. Resend processes newsletter delivery, contact preferences, and unsubscribes. Every newsletter includes an unsubscribe method. Do not send secrets or sensitive personal data.

External links

External resources are governed by their own privacy practices. Golang Tutorial is not responsible for third-party sites.

Contact

Privacy questions can be sent to [email protected].