Go — Resources¶
[!WARNING] Verified resources only. Every entry in this file must be something you have personally confirmed exists, is accessible, and is genuinely useful. Do not add resources based on hearsay, AI suggestions, or titles that "sound right." A short list of excellent resources beats a long list of unverified ones.
Official Documentation¶
- Go Documentation — The primary reference. Start here when you have a specific question. Includes the spec, effective Go, and release notes.
- The Go Programming Language Specification — The formal language specification. Dense, but authoritative. Useful when you need to know exactly how something behaves.
- Go Release Notes — Track changes across versions. Useful for understanding when a feature was added.
Books¶
| Title | Author | Level | Format | Notes |
|---|---|---|---|---|
| The Go Programming Language | Alan A. A. Donovan & Brian W. Kernighan | Beginner–Intermediate | Print/eBook | The definitive book on Go. Clear, thorough, written by a member of the Go team. Start here. |
| Go in Action | William Kennedy, Brian Ketelsen & Erik St. Martin | Intermediate | Print/eBook | Practical and project-oriented. Good complement to Donovan & Kernighan once you have the basics. |
Use ISBN or direct publisher links where possible to avoid linking to pirated copies.
Online Courses & Interactive Resources¶
| Resource | Platform | Level | Free? | Notes |
|---|---|---|---|---|
| A Tour of Go | go.dev | Beginner | Yes | The official interactive introduction. Runs Go in the browser. Best first hands-on resource. |
| Effective Go | go.dev | Intermediate | Yes | Canonical guide to writing idiomatic Go. Required reading once you know the basics. |
| Go by Example | gobyexample.com | Beginner–Intermediate | Yes | Annotated example programs covering the entire language. Excellent quick reference. |
Blogs & Articles¶
- The Go Blog by the Go team — Official blog. Covers new features, best practices, and community news. Every post is worth reading.
- Using Go Modules by the Go team — The definitive explanation of the go.mod system and migration from GOPATH.
Tools¶
| Tool | Purpose | Link |
|---|---|---|
gopls |
Official Go language server (powers IDE support) | go install golang.org/x/tools/gopls@latest |
golangci-lint |
Fast, configurable linter aggregator | golangci-lint.run |
delve |
Go debugger | github.com/go-delve/delve |
staticcheck |
Advanced static analysis | staticcheck.dev |
Communities¶
| Community | Platform | Focus | Link |
|---|---|---|---|
| r/golang | General discussion, news, projects | r/golang | |
| Gophers | Slack | Beginner-friendly Q&A, specialized channels | invite.slack.golangbridge.org |
| Go questions | Stack Overflow | Technical Q&A | stackoverflow.com/questions/tagged/go |
| Go project | GitHub | Source, issues, proposals | github.com/golang/go |
My Recommendations¶
Fill in as you progress — what actually helped you most?
Best for Absolute Beginners¶
To be filled in
Best for Building Mental Models¶
To be filled in
Best for Practical / Hands-On Learning¶
To be filled in
Best Deep Reference¶
To be filled in
Resources to Evaluate¶
Drop links here when you find something but haven't verified it yet.
- None yet