Go Language¶
1. Getting started¶
Quick overview¶
Introduction¶
- The untold story of Go (video)
- Tutorial sequence that begins with with "Create a Go module"
- Writing Web Applications
- Lean Go fast: full tutorial (1 hour video)
Concurrency¶
- Go Concurrency Patterns (video)
- Advanced Go Concurrency Patterns (video)
- Go Wiki: Learn Concurrency
- Wikipedia: Fork-join model
- Wikipedia: Task parallelism
- Wikipedia: Data parallelism
2. Understanding¶
Books¶
- Highly recommended but also getting dated: The Go Programming Language, Alan A. A. Donovan, Brian W. Kernighan, Addison-Wesley, 2016.
- URL: https://www.gopl.io/
- Code: https://github.com/adonovan/gopl.io/
- Learning Go, 2nd ed, Jon Bodner, O'Reilly Media, 2024. URL: https://www.oreilly.com/library/view/learning-go-2nd/9781098139285/
- The Deeper Love of Go (Go 1.25 edition), John Arundel, Bitfield Consulting, 2025. URL: https://bitfieldconsulting.com/books/deeper
- Essential Go (online book) (free online book)
Related blog post: What is the Best Book to Learn Go in 2023?
Articles and presentations focused on specific topics¶
Organizing my project¶
- Organizing a Go module
- Simple Go project layout with modules (Eli Bendersky)
- Gopher Academy: How do you structure your Go apps (video)
Managing dependencies and modules¶
- Using Go modules (5 part sequence)
- Managing dependencies
- Developing and publishing modules
Distribution¶
- Distroless or scratch for Go apps? (baeke.info) (using Docker/Kubernetes containers for Go apps)
Resources¶
- Go's official documentation
- Go's official learning suggestions
- Go's official wiki
- The Go Programming Language Specification
- Go Doc comments
- Go code review comments
- Go command documentation
- Cheat sheet (onecompiler.com)
- Go Optimization Guide (goperf.dev)
Packages¶
- Curated list of awesome Go packages
- Cogent Core, a framework for app development
- Cogent Lab, a data science and visualization framework
- gocv, a package for computer vision