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
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
Step the call path
The architecture walkthrough moves through the participants one at a time while the narrator explains what each one is for.
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.
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
Creational
5 patternsPatterns for object creation in Go, usually expressed through constructor functions, interfaces, and functional options.
Structural
7 patternsPatterns for composing types and boundaries in Go with interfaces, embedding, adapters, and focused packages.
Behavioral
11 patternsPatterns for organizing control flow, workflows, and collaboration with explicit errors, interfaces, and small units of behavior.
Agentic
8 patternsPatterns for building AI agent systems in Go: reasoning loops, tool dispatch, memory, retrieval, and multi-agent coordination.