{} The Go Reference

A visual, Go-first reference

The Go Reference

Deeply learn the things that make Go engineers great — from the language itself to data structures, concurrency, the standard library, networking, internals, systems programming, security, cloud-native and architecture — with clear diagrams, idiomatic Go you can run right here, quizzes, and progress that sticks. Pick a track and start.

Your overall progress

Tracked across every track — mark any page “learned” and this fills up. Saved in your browser.

Pick a track

🐹

Go Fundamentals

The language itself, Go-first — syntax and types, functions and pointers, structs, methods and interfaces, generics, and idiomatic error handling.

17 topics · syntax → interfaces · runnable Enter →
🧩

Design Patterns

All 23 Gang-of-Four patterns plus 9 Go concurrency patterns — creational, structural, behavioral — each Go-first with diagrams, runnable code and trade-offs.

32 patterns · diagrams · playground · quizzes Enter →
🔀

Concurrency

A deep, practical guide to Go concurrency — races, goroutines, channels, select, the sync package, the memory model, context, and the runtime scheduler.

14 topics · foundations → runtime · runnable Enter →
🧮

Data Structures & Algorithms

Go-first data structures and algorithms — complexity analysis, diagrams and runnable implementations, from Big-O to graphs and dynamic programming.

17 topics · Big-O → graphs · runnable Enter →
🧰

Standard Library & Tooling

The batteries Go includes — fmt and io, encoding/json, files and the CLI, structured logging, plus testing, benchmarks, the race detector and pprof profiling.

18 topics · stdlib → tooling · runnable Enter →
🌐

Networking & Web

Build services in Go — TCP and UDP sockets, net/http servers and clients, routing and middleware, REST and gRPC, WebSockets, TLS, and database/sql with transactions.

21 topics · sockets → databases · runnable Enter →
⚙️

Go Internals

How Go runs under the hood — the stack and heap, escape analysis, the allocator and garbage collector, memory layout and unsafe, interfaces' itab, the goroutine scheduler, and the compiler toolchain.

12 topics · memory → toolchain · runnable Enter →
🛠️

Systems Programming

Talk to the OS in Go — system calls and file descriptors, files and directories, processes and signals, scheduling and file watching, pipes and Unix sockets for IPC, and memory-mapped files.

10 topics · syscalls → IPC · runnable Enter →
🛡️

Security

Offensive and defensive security in Go — the hacker mindset and authorized testing, port scanning and recon, fuzzing and packet analysis, cryptography done right, and secure coding from injection defense to supply-chain safety.

22 topics · recon → defense · runnable Enter →
☁️

Cloud-Native

Run Go in production — containers and Kubernetes, health probes and graceful shutdown, structured logs, metrics and tracing, message queues and event-driven design, and resilience patterns like retries, circuit breakers and sagas.

23 topics · containers → resilience · runnable Enter →
🏛️

Architecture

Design systems that last — Domain-Driven Design and bounded contexts, aggregates and repositories, hexagonal/clean architecture, an idiomatic Go project layout, and the modular-monolith-vs-microservices decision.

6 topics · DDD → boundaries · runnable Enter →

How it works

📊

See it, then read it

Mermaid diagrams make the relationships obvious before you read a line of code.

▶️

Run it in place

Every example is an editable Go playground that compiles and runs against the real Go toolchain.

🐹

Go-first, not translated

Idiomatic Go throughout — interfaces, goroutines and channels, not Java in disguise.

🧠

Made to remember

A quiz on every page and progress tracking turn passive reading into a journey you finish.