Go (also called Golang) is a statically-typed, compiled language designed at Google in 2009 to make backend services easy to write, build, and deploy. The original team — Robert Griesemer, Rob Pike, Ken Thompson — wanted something with the runtime efficiency of C++, the readability of Python, and a concurrency model the language understood natively. The result is a small, opinionated language that compiles to a single static binary.
Go is the language behind most modern infrastructure tools: Docker, Kubernetes, Terraform, Prometheus, Grafana, etcd, Consul, Caddy, CockroachDB, InfluxDB. If you have ever pulled a tool that runs as a single binary with no runtime dependency, it was almost certainly written in Go.
What you'll work with in these 81 courses
- Concurrency: goroutines, channels,
sync,context.Context - HTTP servers with the standard library and routers (chi, Gorilla mux, Echo)
- Generics (added in Go 1.18) and modern type inference
- Database/sql + sqlc, GORM, Ent, pgx
- Testing: table-driven tests,
testing.T, benchmarks, fuzz tests - Build and deploy: Go modules, cross-compilation, Docker scratch images
Cloudflare, Uber, Twitch, Dropbox, Monzo, and most of the CNCF ecosystem use Go for the parts of their stack that need to be fast, small, and operationally simple.