Official Resources: go.dev, pkg.go.dev & Go Blog
Official Go documentation is split across a small set of trusted surfaces.
Search across all documentation pages
Official Go documentation is split across a small set of trusted surfaces.
This cheatsheet maps each URL to the question it answers so you stop guessing whether to search blogs, GitHub, or Stack Overflow first.
go.mod.| Surface | Question it answers | URL |
|---|---|---|
| go.dev home | Where do I download Go and find learning paths? | https://go.dev |
| Downloads | Which tarball or installer matches my OS/arch? | https://go.dev/dl/ |
| Language spec | Is this program valid Go? | https://go.dev/ref/spec |
| Effective Go | What is idiomatic Go style? | https://go.dev/doc/effective_go |
| Go Tour | How do I learn syntax interactively? | https://go.dev/tour/ |
| Playground | Can I share a minimal repro without setup? | https://go.dev/play/ |
| pkg.go.dev | What does this symbol do at version V? | https://pkg.go.dev |
| Go blog | Why did the team ship this change? | https://go.dev/blog |
| Release notes | What breaks or tightens in Go 1.N? | https://go.dev/doc/go1.N |
| Security | Where are security announcements? | https://go.dev/security |
| Vuln DB | Is my module graph affected by a CVE? | https://vuln.go.dev |
| Task | Browser path | CLI equivalent |
|---|---|---|
| Stdlib package | pkg.go.dev/fmt | go doc fmt |
| Module at version | pkg.go.dev/mod/path@v1.2.3 | go doc mod/path@v1.2.3 |
| License check | Module page → Licenses tab | go list -m -json path@v1.2.3 |
| Importers graph | Module page → Imported By | go list -deps ./... locally |
| Deprecated APIs | Symbol badge on doc page | go vet ./... after upgrade |
| Doc | When to open | SME action |
|---|---|---|
doc/go1.N | Planning minor bump | File upgrade ADR with flagged sections |
doc/godebug | Runtime behavior differs after deploy | Record rollback GODEBUG keys |
doc/modules | Module auth, retractions, workspaces | Align CI and proxy policy |
doc/telemetry | Telemetry opt-in debates | Decide org policy separately from code |
cmd/go | Script drift after upgrade | Update Makefile and GitHub Actions |
cmd/vet | New CI failures without compile errors | Enable or document exceptions |
| Need | Read first | Why |
|---|---|---|
| Vet analyzer added | Release notes Tools section | Exact enablement and failure text |
| GC redesign narrative | Go blog + release notes Runtime | Blog explains trade-offs; notes list defaults |
| New stdlib package design | Blog announcement | Migration patterns and examples |
| Security fix scope | Security page + release notes | CVE linkage and affected versions |
| Proposal accepted | GitHub issue + blog if major | Issue has final decision text |
| Resource | URL | Use |
|---|---|---|
| Main Go repo | https://github.com/golang/go | Issues, proposals, milestones |
| Proposal label query | https://github.com/golang/go/issues?q=label%3AProposal | Filter active design threads |
| Proposal process doc | https://go.dev/s/proposal | Steps to file and iterate |
| Gerrit (contributions) | https://go-review.googlesource.com | Review upstream CLs |
| x/* repos | https://github.com/orgs/golang/repositories | Subsystems split from main tree |
# Open docs for a symbol in terminal
go doc net/http.Server.Shutdown
# Download module docs module for offline machines (optional)
go install golang.org/x/tools/cmd/godoc@latest
# List module versions available
go list -m -versions example.com/lib
# Check vulnerability report for workspace
govulncheck ./...| Step | Resource | Time box |
|---|---|---|
| 1 | doc/go1.N Introduction + Ports | 10 min |
| 2 | Tools + go vet | 15 min |
| 3 | Runtime / GC / GODEBUG | 15 min |
| 4 | Stdlib packages you import | 20 min |
| 5 | Blog post if linked from notes | 10 min |
| 6 | Update internal cheatsheets | 30 min |
go.dev is the current canonical domain.
Old golang.org links usually redirect; prefer go.dev in new docs.
pkg.go.dev supports module versions, licenses, and vulnerability context.
godoc.org is legacy for many workflows.
Use them for study only.
Verify symbols and behavior on pkg.go.dev at your pinned version.
See go.dev/ref/mod#workspaces linked from the modules documentation hub.
Major features often get blog posts each minor.
Patch releases may be notes-only; still read security advisories promptly.
Playground cannot open arbitrary network or all packages.
Keep repros stdlib-only or share module-based repros in issues instead.
Link to versioned pkg.go.dev URLs and the specific doc/go1.N anchor.
Include the date you reviewed them.
Yes for many packages.
Still confirm with local go doc when tags gate your build matrices.
On go.dev under documentation and the doc/telemetry page.
Distinct from application observability docs in your services.
golangci-lint wraps go vet and third-party analyzers.
When vet changes in release notes, update linter config docs too.
Stack versions: This page was written for Go 1.26.x (Green Tea GC default, go fix modernizers - verify patch at build), chi (latest - verify at build), gin (latest - verify at build), echo (latest - verify at build), google.golang.org/grpc (latest - verify at build), sigs.k8s.io/controller-runtime (latest - verify at build), kubebuilder (latest - verify at build), tinygo (latest - verify board targets at build), wazero (latest - verify at build), and golangci-lint (latest - verify linter set at build).
Reviewed by Chris St. John·Last updated Jul 16, 2026