Go tutorials
54 articles · page 3 of 3Hand-written tutorials, ordered as a recommended learning path.
- 41 Goroutines & Channels A practical introduction to concurrency in Go: goroutines, channels, select, common patterns like fan-out/fan-in, and the pitfalls that cause leaks and races.
- 42 gRPC Build a gRPC service in Go from scratch: define protobufs, generate code, implement the server, write a client, and understand how streaming and interceptors fit together.
- 43 Go HTTP Build a production-ready HTTP server in Go using only the standard library: routing, middleware, timeouts, graceful shutdown, and structured logging.
- 44 Go Interfaces How Go interfaces work in practice: implicit satisfaction, small interfaces, the empty interface, type assertions, and idiomatic interface design patterns.
- 45 Go Modules A practical guide to Go modules: go.mod, go.sum, semantic versioning, replace directives, and the commands you actually need day to day.
- 46 pprof Profile Go programs with pprof: enable the HTTP endpoint, capture CPU and heap profiles, read flame graphs, and find the hot spot that is actually costing you latency.
- 47 Slices vs Arrays Understand the real difference between arrays and slices in Go, how slice headers work, and how to avoid the classic aliasing and capacity surprises.
- 48 Struct Tags Understand how Go struct tags work, how packages like encoding/json read them with reflection, and how to add custom tag-driven behavior to your code.
- 49 Go Testing Write effective tests in Go with the standard testing package: table-driven tests, subtests, fixtures, parallelism, benchmarks, and fuzzing.
- 50 Go Tooling A practical guide to Go's built-in tooling trio: gofmt for formatting, go vet for static checks, and go test for unit, benchmark, and coverage workflows.
- 51 Errors A practical guide to Go error handling: the error interface, sentinel values, custom types, wrapping with fmt.Errorf %w, and errors.Is and errors.As.
- 52 Goroutines Learn Go concurrency from the ground up: launching goroutines, communicating via channels, using select, range, and building a worker pool pattern.
- 53 Modules A practical tour of Go packages and modules: go mod init, imports, internal packages, semantic versioning, and the replace directive for local development.
- 54 Structs A clear guide to Go structs and methods: literal forms, defining methods, choosing value vs pointer receivers, and using embedding for composition.