11 parts · 16 chapters

Go, with Gin

Go is a small language designed at Google for large teams and network services: fast compilation, a single static binary, goroutines and channels built in, and deliberately few features. Measured on this machine, a goroutine starts in 743 ns with about 2 KB of stack.

Eleven parts, the same outline as every language course: basics; the type system; memory and the runtime; concurrency; idioms; tooling and testing; Gin end to end; net/http and Gin internals; performance and profiling; what Go is paired with in production; and the ledger API capstone.

basics · the type system · memory and the runtime · concurrency · idioms · tooling and testing · Gin end to end · net/http and Gin internals · performance · in production · capstonebeginner → expert · engineers adding Go for services, CLIs and infrastructure
the languagePackages, types, structs, interfaces, errors, generics.
the runtimeGoroutines, the G-M-P scheduler, the GC, escape analysis.
concurrencyChannels, select, context, errgroup, sync.
GinRouting, middleware, binding, validation, and what is underneath.
performancepprof, benchmarks, allocations, GOGC and GOMEMLIMIT.
productionOne binary in a small container, gRPC, Envoy, Prometheus, NATS or Kafka.
Language courses share one shapeEvery language course (Python, Go, Rust, Rails, Java and the optional three) has the same eleven parts and the same capstone, so they can be compared. Concurrency (course 35) and the Production Stack (course 9) are the companions.