beginner · languages
Go, from zero to a running service
The language, its opinions, and a working HTTP service built with nothing but the standard library.
·
By Amit Chakraborty — Kolkata, India · Remote worldwide
What you will be able to do
Write, test, profile and ship a Go service.
Syllabus — 12 chapters
- 1. Why Go exists and what it optimises for — Understand the design trade-offs before writing code that fights them.
- 2. Setup, modules and the shape of a project — Create, build and run a Go project laid out the way the ecosystem expects.
- 3. Types, structs and methods without inheritance — Model data in a language that deliberately has no classes.
- 4. Slices and maps: how they actually behave — Avoid the aliasing and growth surprises that catch every newcomer.
- 5. Errors as values — Handle failure explicitly and see why the absence of exceptions is a design choice.
- 6. Interfaces and small contracts — Use implicit interface satisfaction to keep packages decoupled.
- 7. Goroutines and channels — Run concurrent work you can still reason about.
- 8. Context, cancellation and sync — Stop work that is already running, correctly.
- 9. An HTTP service with the standard library — Build a real service without reaching for a framework.
- 10. Testing, benchmarks and the race detector — Prove your concurrent code is correct rather than hoping.
- 11. Profiling: pprof, allocations and the cost of an interface — Find where the time and the memory actually go.
- 12. Shipping: builds, flags and containers — Produce a deployable artefact and configure it properly.
0 of 12 published. A new chapter every Tuesday night. Free to read.
Learn it free, elsewhere too
The documentation, videos, books and practice sites worth your time on this subject. All free. None of it is mine.