{} The Go Reference

Start here if you're new to Go

The Go Language, from the ground up

Everything the rest of this site assumes you know — the syntax, the type system, and the idioms that make Go Go. From zero values and the one loop to interfaces, generics and wrapped errors, each page pairs a clear mental model with idiomatic code you can run right here.

Your fundamentals progress

Mark a topic “learned” on its page and watch the bars fill.

Skill map

Learned nodes light up — the glowing one is your next step. Click any node to jump in.

Basics & Syntax

The ground floor — variables and zero values, the one loop, functions with multiple returns, and pointers without the footguns.

Composite Types

How Go groups data — structs, slices over a backing array, maps, and strings as UTF-8 bytes and runes.

Methods & Interfaces

Go's take on polymorphism — methods on any type, implicitly-satisfied interfaces, struct embedding, and generics.

Errors & Idioms

The patterns that make code idiomatic — explicit errors and wrapping, defer/panic/recover, and packages and modules.

🐹 Go's whole personality in one line

Composition over inheritance, interfaces satisfied implicitly, errors as ordinary values, and a tiny orthogonal feature set you can hold in your head. Learn these idioms and the patterns, concurrency and DSA tracks all click into place.