What lives here
Fifty short lessons, one unbroken chain: every page ends with a link to the next one, so you can read the course start to finish without ever wondering where to click. Each lesson teaches one idea with compilable Go examples, and the longer deep dives live on their own pages under Golang:
- Start here: What is Go and where it runs — then follow the chain through lesson 50.
- Language core, lessons 2-20: install, first program, modules, variables, constants, types, numbers, strings, conditions, switch, loops, arrays, slices, maps, functions, errors, pointers, structs, methods.
- Design and tooling, lessons 21-30: interfaces, embedding, generics, packages, the go toolchain, testing, advanced errors, defer, strings and runes, time.
- Networking and concurrency, lessons 31-43: JSON, files, HTTP servers and clients, context, goroutines, channels, select and sync, CLIs, logging, regexp, sorting, concurrency patterns.
- Finish, lessons 44-50: databases, benchmarks, CI, project layout, two capstones (wordfreq CLI and JSON API server), and the hero roadmap with every lesson on one page.
How to use this course
Type every example, do not just read it. Run each program with
go run before moving on - the course assumes
your hands remember lesson 3 by the time lesson 16 arrives.
The classic Go rules apply from day one: tabs via
gofmt, braces on the same line, and errors
returned as values, not thrown.