Go tutorial library
Search and filter the published library here by branch, format, or your saved learning progress.
Your learning progress
0 of 36 published lessons complete
Golang Hello World and Your First Go Program
Build a Golang Hello World program, understand package main and func main, accept an argument, then run and compile it with Go 1.24.7.
Read tutorial →Tutorial · Go fundamentalsGolang Interfaces: What They Are and How to Use Them
Learn Go interfaces with real examples: implicit satisfaction, the nil interface trap, type switches, io.Reader, and refactoring for testable code.
Read tutorial →Tutorial · Go fundamentalsWhy Learn Golang and What Is Go Used For?
Why learn Golang? See where Go fits, what teams build with it, its tradeoffs, and a tested concurrency example before choosing it.
Read tutorial →Tutorial · Go fundamentalsWhat Is Go and How Does a Go Program Work?
What is Go? Understand packages, compilation, garbage collection, concurrency, HTTP tooling, tradeoffs, and a tested service handler.
Read tutorial →Tutorial · Go fundamentalsHow to Download and Install Golang Safely
Download and install Golang on Windows, macOS, or Linux, verify the active toolchain, and avoid PATH and multiple-installation problems.
Read tutorial →Tutorial · Go fundamentalsGolang IDEs: Choose an Editor for Your Workflow
Compare Golang IDE workflows and choose an editor by navigation, testing, debugging, remote work, and team needs instead of feature counts.
Read tutorial →Tutorial · Go fundamentalsGolang File Structure for Modules and Applications
Learn a practical Golang file structure that starts small, separates commands from domain packages, and uses internal boundaries only when useful.
Read tutorial →Tutorial · Go fundamentalsGolang Compilation and Execution Explained
Understand Golang compilation and execution with go run, go build, and go install, then produce and verify a reusable application binary.
Read tutorial →Tutorial · Go fundamentalsGo Tools You Need for a Reliable Development Loop
Use essential Go tools to format, test, inspect, and build code with a repeatable local workflow that catches problems before review.
Read tutorial →Tutorial · Go fundamentalsHow to Learn Golang with a Focused Study Plan
Learn Golang with a focused eight-week study plan built around tested programs, deliberate practice, projects, and production skills.
Read tutorial →Tutorial · Go fundamentalsLearn Golang with a Practical Beginner Course
Learn Golang through a practical course that moves from syntax to tested programs, modules, errors, concurrency, HTTP, and a final service.
Read tutorial →Tutorial · Go fundamentalsGo's Type System Deep Dive: Static Typing Done Right
A tested tour of the Golang type system: named types vs aliases, assignability, comparability, untyped constants, and making illegal states unrepresentable.
Read tutorial →Tutorial · Go fundamentalsGo Interview Questions: 25 Answers That Show Understanding
Prepare for Go interviews with concise answers about slices, interfaces, errors, concurrency, context, HTTP, testing, and performance.
Read tutorial →Main topic · Go fundamentalsGo Tutorial: From First Program to Backend Foundations
Learn Go fundamentals through a practical path covering setup, types, functions, structs, errors, concurrency, testing, and HTTP.
Read tutorial →Tutorial · Go concurrencyGo Context: Cancellation, Deadlines, and Request Values
Learn Go context with practical cancellation, timeout, HTTP request, and goroutine examples.
Read tutorial →Tutorial · Go concurrencyGo Mutex: Protecting Shared State from Race Conditions
A golang mutex tutorial that proves the race first, then teaches Lock/Unlock, RWMutex, the copy bug, atomics, and the frank mutex-vs-channel call.
Read tutorial →Tutorial · Go concurrencysync.WaitGroup in Go: Coordinating Multiple Goroutines
A tested golang waitgroup guide: the Add/Done/Wait counter model, the copy-by-value deadlock, the Add-inside-goroutine race, and Go 1.25's WaitGroup.Go.
Read tutorial →Tutorial · Go concurrencyGo select Statement: Multiplexing Channels Explained
Learn Go's select statement with tested code: the random-choice rule, non-blocking default, timeouts, the nil-channel trick, and context cancellation.
Read tutorial →Tutorial · Go concurrencyGo Worker Pool Pattern: Bounded Concurrency at Scale
Build a Go worker pool with tested code: bounded concurrency, error propagation, context cancellation, correct channel closing, and how to size the pool.
Read tutorial →Tutorial · Go concurrencyGoroutines in Go: Concurrency Without Leaks
Learn how goroutines run, how to wait for them, propagate errors, cancel work, and prevent leaks.
Read tutorial →Tutorial · Go concurrencyGo Channels: Communication Between Goroutines
Learn Go channels, buffering, closing, range, ownership, pipelines, and cancellation with practical examples.
Read tutorial →Tutorial · Go concurrencyGoroutine Leaks in Go: How to Detect and Prevent Them
Detect and fix golang goroutine leaks with tested code: runtime.NumGoroutine, the pprof goroutine profile, go test leak checks, and per-cause fixes.
Read tutorial →Tutorial · Web and APIsJSON in Go: Encoding, Decoding, and Validation
Encode and decode JSON safely in Go with struct tags, validation, unknown-field checks, and HTTP examples.
Read tutorial →Tutorial · Web and APIsGo net/http: Build an HTTP Server from Scratch
Build a production golang http server with net/http: Go 1.22 routing, PathValue, timeouts, graceful shutdown and static files, every example tested.
Read tutorial →Tutorial · Web and APIsGo HTTP Client: Timeouts, JSON, and Reliable Requests
Build reliable outbound HTTP requests in Go with client timeouts, context, JSON, status checks, body limits, and transport reuse.
Read tutorial →Tutorial · Web and APIsGo HTTP Middleware: Build a Production Chain
Build composable Go HTTP middleware for logging, recovery, request IDs, authentication, and timeouts.
Read tutorial →Main topic · Web and APIsBuilding a REST API with Go: The Complete Tutorial
Build a production-ready REST API in Go with only the standard library: net/http routing, JSON, middleware, context, graceful shutdown, and tests.
Read tutorial →Tutorial · Testing and qualityTesting in Go: Table Tests, HTTP, Fakes, and Coverage
Write effective Go tests with table-driven cases, subtests, httptest, fakes, race detection, benchmarks, and useful coverage.
Read tutorial →Tutorial · Testing and qualityWriting Unit Tests in Go: A Practical Guide
Write golang unit tests that catch bugs: test structure, error checks, table cases, fakes, injected clocks, and coverage, with real go test output.
Read tutorial →Tutorial · Testing and qualityTable-Driven Tests in Go: The Idiomatic Way
Golang table driven tests done right: subtests with t.Run, parallel cases, error tables with errors.Is, and golden files, with real tested output.
Read tutorial →Tutorial · Testing and qualityGo Benchmarking: Measuring Performance with testing.B
Learn Go benchmarking with testing.B: read ns/op, B/op and allocs/op, avoid the dead-code trap, use b.Loop, and compare implementations you can trust.
Read tutorial →Tutorial · Testing and qualityMocking in Go: Test Doubles Without Magic
Learn golang mocking the idiomatic way: small interfaces plus hand-written fakes, spies, and httptest, with generated mocks only when they earn it.
Read tutorial →Tutorial · Testing and qualityIntegration Testing in Go: Testing Real Boundaries
Write Go integration tests that hit real boundaries: HTTP with httptest, a real Postgres, plus build tags and -short to keep go test ./... fast.
Read tutorial →Tutorial · Generics and internalsGo Type Parameters: Syntax and Constraints Explained
Learn golang type parameters by example: the [T Constraint] syntax, what each constraint unlocks, type inference, the ~ token, and the method limitation.
Read tutorial →Tutorial · Generics and internalsGeneric Functions in Go: Writing Reusable Code
Write golang generic functions the right way: Map, Filter, Reduce, and a drop-in utilities package. Every example tested on Go 1.24 with real output.
Read tutorial →Tutorial · Generics and internalsGo Constraints: comparable, Ordered and Custom Sets
Master Go generic constraints: type sets vs method sets, comparable, the ~ token, cmp.Ordered, and writing your own Number constraint. Tested on Go 1.24.
Read tutorial →No published tutorials match those filters.