GoBooks
List of Golang books
Install / Use
/learn @dariubs/GoBooksREADME
Awesome Go Books
GoBooks is a curated collection of the best Go books for developers at every level—from beginners to engineers working on concurrency, performance, and system design. One place to find the right learning resource.
Other languages: Español · 中文 · Português · Русский · Deutsch · فارسی
- Most Popular Golang Books
- Starter Books
- Advanced Books
- Web Development
- Resources
- Contributing
- License
Most Popular Go Books
The most popular and highly recommended Go books based on community ratings, expert recommendations, and developer consensus across Amazon, Goodreads, and the Go community
The Go Programming Language
<a href="https://amzn.to/3MbHW7i"><img src="gobooks/covers/gopl.book.png" width="120px"/></a>
Last published: 2015 Authors: Alan A. A. Donovan and Brian W. Kernighan Available as: eBook, Print
Widely considered the "Go Bible" and the definitive reference for the language, co-authored by Brian Kernighan of K&R C fame. With over 1,200 Amazon reviews and a 4.5-star rating, it appears on virtually every "best Go books" list. It covers syntax, data structures, concurrency, and best practices with hundreds of practical examples.
Learning Go: An Idiomatic Approach to Real-World Go Programming, 2nd Edition
<a href="https://amzn.to/4ceJWWQ"><img src="gobooks/covers/learning-go.jpg" width="120px"/></a>
Last published: 2024 Authors: Jon Bodner
One of the most recommended modern Go books, praised by experts at Datadog and across the Go community. It teaches you to think like a Go developer by focusing on idiomatic patterns, design decisions, and generics. Consistently ranked at the top of best-of lists by BookAuthority, MentorCruise, GeeksforGeeks, and ReactDOM.
100 Go Mistakes and How to Avoid Them
<a href="https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them"><img src="gobooks/covers/100-go-mistakes-and-how-to-avoid-them.png" width="120px"/></a>
Last published: 2022 Authors: Teiva Harsanyi
A community favorite for intermediate-to-advanced developers, frequently recommended on Reddit, Hacker News, and in Go learning paths like TutorialEdge. It provides a unique angle on Go mastery by highlighting common pitfalls in concurrency, testing, data structures, and more.
Learn Go With Tests Free
<a href="https://quii.gitbook.io/learn-go-with-tests/"><img src="gobooks/covers/learn-go-with-tests.png" width="120px"/></a>
Last published: 2025 Authors: Chris James Avaible For Free : Source Code
One of the most popular free Go resources with over 22,000 GitHub stars. Its test-driven approach to learning Go has made it a go-to recommendation across the community. Frequently cited alongside paid books as essential reading for anyone learning Go.
Writing An Interpreter In Go
<a href="https://amzn.to/45PIyGq"><img src="gobooks/covers/writing-an-interpreter-in-go.png" width="120px"/></a>
Last published: 2020 Authors: Thorsten Ball
A cult classic with an enthusiastic following on Goodreads (4.5+ stars) and Hacker News. By guiding you through building a complete programming language interpreter from scratch, it teaches both Go and computer science fundamentals in a uniquely hands-on way.
Let's Go!
<a href="https://lets-go.alexedwards.net/"><img src="gobooks/covers/lets-go.png" width="120px"/></a>
Last published: 2023 Authors: Alex Edwards
The most recommended book for Go web development, praised for its step-by-step, real-world approach to building secure and maintainable web applications. Frequently paired with its sequel Let's Go Further as the definitive Go web development learning path.
Head First Go
<a href="https://amzn.to/4r1FJdA"><img src="gobooks/covers/head-first-go.jpg" width="120px"/></a>
Last published: 2019 Authors: Jay McGavren
A top pick on GeeksforGeeks and other beginner lists, leveraging the popular Head First visual learning format. Its intuitive graphical representations and humorous examples make it one of the most accessible entry points to Go for newcomers to programming.
Black Hat Go
<img src="gobooks/covers/black-hat-go.jpg" width="120px"/>
Last published: 2020 Authors: Tom Steele, Chris Patten, Dan Kottmann
A highly popular niche book that combines Go with security and penetration testing. Widely recommended by both the Go and cybersecurity communities, it fills a unique gap by teaching offensive security tooling using Go's speed and concurrency strengths.
Efficient Go: Data-Driven Performance Optimization
<a href="https://www.amazon.com/Efficient-Go-Data-Driven-Performance-Optimization/dp/1098105710"><img src="gobooks/covers/efficient-go.jpg" width="120px"/></a>
Last published: 2022 Authors: Bartlomiej Płotka, Frederic Branczyk
A highly regarded guide to Go performance, recommended by experts and frequently appearing on advanced Go reading lists. Written by engineers from the Prometheus and Thanos projects, it provides the tools and knowledge to make Go applications faster using fewer resources.
Let's Go Further
<a href="https://lets-go-further.alexedwards.net/"><img src="gobooks/covers/lets-go-further.png" width="120px"/></a>
Last published: 2023 Authors: Alex Edwards
The highly popular sequel to Let's Go!, focusing on advanced API and web application patterns. Together with its predecessor, it forms the most recommended web development learning path in the Go community, covering everything from REST APIs to deployment.
Starter Books
Here are the top recommended books for absolute beginners—those with little or no programming experience—who want to learn Go from the very start
Learn Go With Tests
Last published: 2025 Authors: Chris James Avaible For Free : Source Code
<a href="https://quii.gitbook.io/learn-go-with-tests/"><img src="gobooks/covers/learn-go-with-tests.png" width="120px"/></a>
Learn Go guided by tests. Write a test, learn a new Go language feature to make it pass, refactor and repeat. You'll get a grounding in test-driven development and importantly understand the principles behind it.
Learn Go with Pocket-Sized Projects
Last published: 2025 Authors: Aliénor Latour, Donia Chaiehloudj, and Pascal Bertrand
<a href="https://amzn.to/4cliBlM"><img src="gobooks/covers/learn-go-with-pocket-sized-projects.jpg" width="120px"/></a>
Learn Go with Pocket-Sized Projects teaches you to write professional-level Go code by creating handy tools and fun apps. Each small, self-contained project introduces important practical skills, including ensuring that your code is thoroughly tested and documented! You'll make architectural decisions for your projects and organize your code in a maintainable way. Everything you learn is easy to scale-up to full-size Go applications.
The Deeper Love of Go
Last published: 2025 Authors: John Arundel
<a href="https://bitfieldconsulting.com/books/deeper"><img src="https://github.com/bitfield/love/blob/main/cover_small.png" width="120px"/></a>
Introduces the Go programming language for complete beginners, as well as those with experience programming in other languages.
Learning Go: An Idiomatic Approach to Real-World Go Programming, 2nd Edition
Last published: 2024 Authors: Jon Bodner
<a href="https://amzn.to/4ceJWWQ"><img src="gobooks/covers/learning-go.jpg" width="120px"/></a>
Go has rapidly become the preferred language for building web services. Plenty of tutorials are available to teach Go's syntax to developers with experience in other programming languages, but tutorials aren't enough. They don't teach Go's idioms, so developers end up recreating patterns that don't make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go.
No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner introduces the design patterns experienced Go developers have adopted and explores the rationale for using them. This updated edition also shows you how Go's generics support fits into the language.
This book helps you:
- Write idiomatic code in Go and design a Go project
- Understand the reasons behind Go's design decisions
- Set up a Go development environment for a solo developer or team
- Learn how and when to use reflection, unsafe, and cgo
- Discover how Go's features allow the language to run efficiently
- Know which Go features you should use sparingly
