Go (Golang)
Learn Go by running it: modules and packages, types and zero values, slices and maps, structs, interfaces and generics, errors, goroutines, channels, context, the race detector, net/http, JSON, testing and tooling, all executed with Go 1.27.
What you'll learn
- Write, run and organise Go programs with modules, packages and the go command.
- Use Go's types, zero values, slices, maps, structs, methods, interfaces and generics correctly.
- Handle errors idiomatically with wrapping, errors.Is and errors.As, and use defer and recover.
- Write concurrent code with goroutines, channels, select, context and mutexes, and find races with -race.
- Build HTTP services and JSON APIs with the standard library.
- Test, vet and format Go code, and structure projects for production.
Syllabus
Getting Started With Go
Language Basics
- Variables, Constants and Zero Values
- Control Flow
- Functions, Multiple Returns and Closures
- Slices and Maps
Structs, Interfaces and Generics
Errors, defer and panic
Concurrency
- Goroutines and WaitGroups
- Channels and Pipelines
- select, Timeouts and context
- Data Races, Mutexes and the Race Detector