Why learn Go?
-
Tiny language surface — learn the whole thing in a weekend.
-
Compiles to a single static binary, perfect for cloud and CLI tools.
-
Built-in concurrency with goroutines and channels.
-
Dominant in DevOps infra (Docker, Kubernetes, Terraform).
What you can build with Go
High-throughput backends CLI tools and DevOps utilities Microservices and gRPC Network and systems programming
Go tutorials
6 articlesHand-written tutorials, ordered as a recommended learning path.
- 01 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.
- 02 Goroutines Learn Go concurrency from the ground up: launching goroutines, communicating via channels, using select, range, and building a worker pool pattern.
- 03 Interfaces Understand Go interfaces in depth: implicit satisfaction, small interface design, io.Reader and io.Writer, accept interfaces return structs, and type assertions.
- 04 Modules A practical tour of Go packages and modules: go mod init, imports, internal packages, semantic versioning, and the replace directive for local development.
- 05 Structs A clear guide to Go structs and methods: literal forms, defining methods, choosing value vs pointer receivers, and using embedding for composition.
- 06 Testing Get productive with Go tests fast: writing _test.go files, table-driven tests with t.Run, running with go test flags, coverage, and an intro to benchmarks.