Syntax, Variables & Types
Go's shape on the page — declarations, the type system, constants, and zero values.
Control Flow & Functions
if, for, switch, defer — and functions with multiple returns, variadics, and closures.
Collections
Arrays, slices and their sharing semantics, maps, and how strings really work.
Structs & Methods
Data modeling in Go — structs, value vs pointer receivers, embedding, and struct tags.
Pointers & Memory
What pointers are in Go, when to use them, and why there's no pointer arithmetic to fear.
Interfaces
Implicit satisfaction, consumer-owned ports, type assertions, and interface design.
Error Handling
Error values, wrapping, classification, single handling, and safe client translation.
Packages & Modules
Package boundaries, Go modules, pinned dependencies, workspaces, and multi-repository development.
Generics
Type parameters, constraints, inference, zero values, and platform examples.
Reflection (and when not)
How reflect works, why struct tags depend on it, and why application code should almost never touch it.