From Go Source to Running Program
Follow Go code from modules and packages through compilation, linking, and runtime startup, with a runnable experiment showing what happens before main.
Guided series · 9 parts
An ordered path through go, designed so each part is useful independently and builds on the previous one.
Filed under GoReading order
Follow Go code from modules and packages through compilation, linking, and runtime startup, with a runnable experiment showing what happens before main.
Understand Go's pass-by-value semantics, pointer aliasing, shallow copies, and ownership through runnable examples that reveal which mutations reach callers.
Explore Go arrays and slices through runnable examples of backing arrays, length, capacity, append, copying, and the mutations that shared storage makes possible.
Compare Go strings, bytes, and runes: when to use each, why UTF-8 boundaries matter, and how validation, mutation, and conversion costs affect real applications.
Learn when to use Go maps, how keys and zero values behave, why iteration needs care, and how to handle shared state and concurrent updates safely.
Explore Go struct padding, field order, alignment, and size with runnable examples, plus practical guidance on memory savings, portability, and encoding.
Understand Go method sets, value and pointer receivers, interface comparisons, and typed nil through runnable examples and practical API design decisions.
Understand Go closure capture, deferred evaluation, cleanup lifetimes, and panic recovery with runnable examples and practical guidance for backend code.
Learn how Go allocation differs from assignment and initialisation, when new, make, and append need storage, and what B/op and allocs/op actually measure.