Official docs outline
19 sections- A Tour of Go
Interactive basics: packages, variables, functions, flow control, structs, slices, maps, methods, interfaces.
- How to write Go code
Packages, modules, import paths, go build/install and project layout.
- Slices, arrays and maps
Array vs slice semantics, slice headers, append and capacity, copy, and map behavior.
- Effective Go
Idiomatic naming, formatting, control structures, functions, composite literals, allocation with new/make.
- Methods and interfaces
Pointer vs value receivers, implicit interface satisfaction, type assertions, embedding and the empty interface.
- Error handling
The error interface, wrapping with %w, errors.Is/As, sentinel errors and returning errors as values.
- Defer, panic and recover
Deferred call ordering, resource cleanup, panics, and recovering from them.
- Goroutines and channels
Goroutines, channels (buffered/unbuffered), select, sync primitives, and 'share memory by communicating'.
- Pipelines and cancellation
Pipeline pattern, fan-out/fan-in, done channels and cancellation.
- Context
context.Context for cancellation, deadlines and request-scoped values across goroutines.
- The Go memory model
Happens-before ordering, synchronization guarantees, data races and atomic operations.
- Data race detector
Using -race to detect data races and understanding its reports.
- Generics
Type parameters, constraints, type sets, comparable and generic functions/types.
- Modules and dependencies
go.mod, semantic versioning, minimal version selection, go.sum, replace directives, workspaces.
- Testing and fuzzing
go test, table-driven tests, benchmarks, and native fuzz testing.
- Reflection
reflect package, interface values to reflection objects, and the laws of reflection.
- Accessing relational databases
database/sql handles, queries, prepared statements, transactions, connection pooling and SQL injection.
- Garbage collector and diagnostics
GC behavior, GOGC and memory limit tuning, profiling with pprof, tracing, and diagnostics.
- Language specification
Authoritative reference for types, declarations, expressions, statements and package initialization.
Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.
Versions and support
6 release lines| Line | Released | Latest | Support |
|---|---|---|---|
| 1.27 | Aug 19, 2026 | 1.27.3 | Supported |
| 1.26 | Feb 10, 2026 | 1.26.10 | Supported |
| 1.25 | Aug 12, 2025 | 1.25.14 | Ended Aug 19, 2026 |
| 1.24 | Feb 11, 2025 | 1.24.13 | Ended Feb 10, 2026 |
| 1.23 | Aug 13, 2024 | 1.23.12 | Ended Aug 12, 2025 |
| 1.22 | Feb 6, 2024 | 1.22.12 | Ended Feb 11, 2025 |
Source: endoflife.date