rgoussu@goussu: ~/library/go/compilers-and-runtimes/references
~/library/go/compilers-and-runtimes/references cat go-language-specification.md

The Go Programming Language Specification

# The authoritative definition of Go's syntax, type system, and semantics, maintained alongside each release at go.dev.

Referencesaved 2026-08-09source #go#specification#language#reference

Why kept

The authoritative definition of the language — famously short enough to actually read, and the contract behind Go compilers & runtimes compared.

Notes

  • Companion documents worth knowing: the Go Memory Model (happens-before guarantees for concurrent code, revised 2022) and the GC guide for what the spec deliberately leaves to the implementation.
  • Updated with each release and dated at the top — e.g. the type-parameters (generics) sections added for 1.18, range-over-func in 1.23; check the version line when citing.
  • Scheduling, GC behaviour and stack growth are not in here — they are gc implementation detail, which is exactly the point of reading the spec: knowing what Go guarantees versus what the reference toolchain happens to do.