go-patterns
esc
31 patterns · runnable Go

The Go pattern reference
you can run, not just read.

Every page is backed by real package main source that compiles in CI. Step the architecture, read the files, then rebuild the pattern from memory.

31
patterns published
100%
backed by real source
0
third-party deps
race
detector in CI
decorator/decorators.go ✓ go vet · race
type AuditDecorator struct {
	Next    Notifier
	History []string
}

func (d *AuditDecorator) Send(recipient string, message string) {
	d.History = append(d.History, recipient+":"+message)
	d.Next.Send(recipient, message)
}

How each page works

Three ways to actually learn it

01

Step the call path

The architecture walkthrough moves through the participants one at a time while the narrator explains what each one is for.

02

Read the real source

Every snippet is imported from src/code at build time, and CI runs gofmt, vet, staticcheck and the race detector over all of it.

03

Track what you have read

Reading progress and roadmap ticks live in IndexedDB on your device — no account, no sync, no tracking.

Catalog

Four families, one vocabulary

All 31 patterns →