Skip to content
The Go gopher

golings

Learn Go by fixing real code, not by watching videos. Every exercise is broken on purpose and passes only when the tests and the linter agree. No prior Go needed — run any of them in the browser before you install anything.

An interactive Go trainer in your terminal: edit and fix broken exercises with instant test + lint feedback, plus navigation, search, hints, and streaks.

golings is rustlings for Go — the same idea, a different language. If you learn a language by debugging it rather than by reading about it, this is the whole course: open the next exercise, make it compile, make it pass, move on.

172 exercises

51 topics, ordered so each one only needs what came before it.

Nothing to install

Every exercise opens in the Go Playground from the catalog — read it, run it, watch it fail, before you clone anything.

Instant feedback

A terminal UI re-runs the exercise the moment you save, and nothing advances until the tests pass and golangci-lint is clean.

Full language coverage

Errors, generics, the concurrency stack, stdlib and testing — current through Go 1.26.

Four stages, in order. You start at var x int and finish with a concurrent log-ingest service you wrote yourself.

StageWhat you getCoversTopicsExercises
BeginnerSyntax you cannot skip: values, control flow, and the built-in collections.Fundamentals, Collections & Loops1136
IntermediateThe type system Go programs are actually shaped from, plus errors and generics.Types & Methods, Functions & Errors, Generics & Modern Go, Packages & Modules, Testable Design1557
AdvancedGoroutines, channels, and the stdlib corners real services live in.Concurrency, Standard Library & I/O, Building Applications, Testing & Applied2159
CapstoneOne concurrent log-ingest service, built from everything above it.Log-Ingest Service18

Browse every exercise, each one runnable in the browser →

Terminal window
git clone https://github.com/madhank93/golings && cd golings
mise run watch

See Getting started for the full setup.