Go Books
repo: dariubs/GoBooks
category: Books
related: Go
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 or not at all
- Use Go's tools to improve performance, optimize memory usage, and reduce garbage collection
- Learn how to use Go's advanced development tools
Go Programming - From Beginner to Professional, 2nd Edition
Last published: 2024 Authors: Samantha Coyle
<a href="https://amzn.to/4agrPgG"><img src="gobooks/covers/go-programming-from-beginner-to-professional.jpg" width="120px"/></a>
Go Programming – From Beginner to Professional is a comprehensive guide that takes your proficiency in the Go programming language from novice to expert. Starting with fundamental concepts, this book covers variables, command-line tools, and working with data before delving into advanced concepts, including error handling, interfaces, and generics, harnessing Go's latest features through hands-on exercises. Along the way, you'll learn to structure projects using Go modules, manage packages effectively, and master debugging techniques. As you progress, you'll get to grips with practical application-centric aspects such as command-line programming, file manipulation, and working with SQL databases. Additionally, the book explores web server development, RESTful APIs, and utilizing the Go HTTP client to interact with web applications. Further enhancing your Go skills, you'll learn concurrent programming, testing methodologies, Go tools, and how to deploy applications in the cloud. Throughout the book, you'll uncover Go's hidden gems and gain insights into time manipulation, best practices, and more. By the end of this book, you'll have worked through practical exercises and activities that'll equip you with the knowledge and skills needed to excel as a proficient Go developer, primed for success in real-world projects.
What you will learn
- Understand the Go syntax and apply it proficiently to handle data and write functions
- Debug your Go code to troubleshoot development problems
- Safely handle errors and recover from panics
- Implement polymorphism using interfaces and gain insight into generics
- Work with files and connect to popular external databases
- Create an HTTP client and server and work with a RESTful web API
- Use concurrency to design efficient software
- Use Go tools to simplify development and improve your code
Go 101
Last published: 2023 Authors: Tapir Liu Avaible For Free : Read Online
<a href="https://go101.org/article/101.html"><img src="gobooks/covers/go-101.jpg" width="120px"/></a>
Go 101 is a book focusing on Go syntax/semantics and all kinds of runtime related things (Go 1.17-pre ready) and tries to help gophers gain a deep and thorough understanding of Go. This book also collects many details of Go and in Go programming. It is expected that this book is helpful for both beginner and experienced Go programmers.
gRPC Go for Professionals
Last published: 2023 Authors: Clement Jean
<a href="https://amzn.to/46oiZfC"><img src="gobooks/covers/grpc-go-for-professionals.jpg" width="120px"/></a>
In recent years, Microservice architecture has been gaining popularity. With that rise, comes a different set of requirements than we had previously. The most important one is efficient communication between the different services. That's where gRPC comes in. So naturally, this book will show you how to create gRPC servers and clients in an efficient, secure, and scalable way. But, on top of that, because Microservices are not only about communication, this book intends to show you how to deploy your application on Kubernetes and configure other tools that are needed for making your application more resilient. In that way, this book will give you all the tools that you need to start right away with gRPC in a Microservice architecture.
In gRPC Go for Professionals, you'll begin by learning the core concepts such as how the framework sends messages over the network and why it uses Protobuf for serialization and deserialization. After that, we will implement a TODO list API step by step to see the different features of gRPC. Then we are going to see how to test your services in different ways. We will see how to debug your API endpoints. And finally, we will see how to deploy the application's services by creating Docker images and using Kubernetes.
Go Faster
Last published: 2023 Authors: Ollie Phillips
<a href="https://leanpub.com/gofaster"><img src="gobooks/covers/go-faster.png" alt="Picture of book cover for Go Faster" width="120px"/></a>
Some say Go is a simple language and with only 25 keywords it surely is. But, to work with Go effectively requires proficiency and understanding beyond simple syntax alone. It can take developers months or even years to acquire this experience, but this book sets out to short-circuit that process and get you there faster!
With my book, Go Faster, you can shorten your learning curve and become a proficient Go programmer, going from beginner to expert in no time. Learn Go faster and join the thriving community of skilled Go developers!
Shipping Go
Last published: 2023 Authors: Joel Holmes
<a href="https://amzn.to/4ra6o8q"><img src="gobooks/covers/efficient-go.jpg" alt="Picture of book cover for Shipping Go" width="120px"/></a>
You know how to build Go programs—now learn how to ship them to your customers efficiently! This practical guide to continuous delivery shows you how to rapidly establish an automated pipeline that will improve your testing, code quality, and final product.
In Shipping Go you will learn how to:
- Develop better software based on feedback from customers
- Create a development pipeline that turns feedback into features
- Reduce bugs with pipeline automation that validates code before it is deployed
- Establish continuous testing for exceptional code quality
- Serverless, container based, and server based deployments
- Scale your deployment in a cost-effective way
- Deliver a culture of continuous improvement
gRPC Microservices in Go
Last published: 2023 Authors: Hüseyin Babal
<a href="https://amzn.to/4rzgHSW"><img src="gobooks/covers/grpc-microservices-in-go.jpg" width="120px"/></a>
For the last decade, we have heard stories about Monolith to Microservice transitions and we might think that this transition solves the majority of the problems in the organizations. However, it might end up with mess if you are not aware about best practices of this transition, since Microservice Architecture comes with its challenges. In this book, we start covering production grade best practices of Microservices Architecture and explain when to use it. Then we talk about microservice communication patterns where gRPC comes to the stage. You will see complete examples written in Go with Hexagonal Architecture applied to project structure. You will not only learn how to implement microservices, you will see how to write tests, maintain quality with proper CI, deploy to Kubernetes environment and finally set up an observable system to have better monitoring for your application.
Go for Javascript Developers
Last published: 2022 Authors: Maor Zamski and Daniel Singer Avaible For Free : Source Code
<a href="https://www.pazams.com/Go-for-Javascript-Developers/"><img src="gobooks/covers/go-for-javascript-developers.png" width="120px"/></a>
This book helps Javascripters become Gophers. Outlining the differences between these languages makes it easier to switch back and forth, and can help mitigate potential issues when doing so.
Go, from the beginning Free
Last published: 2022 Authors: Chris Noring
<a href="https://leanpub.com/go-from-the-beginning"><img src="gobooks/covers/go-from-the-beginning.png" width="120px"/></a>
In this book you will learn the following:
- Build Console apps
- Create Web APIs
- Test your code
- Create and publish reusable packages that others can consume
- Organize your files in a project
- Work with files and directories
- Parse text with the string library and regular expressions.
Practical Go Lessons
Last published: 2022 Authors: Maximilien Andile Avaible For Free : Read Online
<a href="https://www.practical-go-lessons.com/"><img src="gobooks/covers/practical-go-lessons.png" width="120px"/></a>
Practical Go Lessons has 41 chapters and more than 700 pages with illustrations. It is suitable for anybody how wants to start programming with the Go language. It assumes no prior knowledge. Each chapter contains test questions with detailed answers. The HTML version is free. You can support the author by buying the PDF or Paper version.
Pro Go
Last published: 2022 Authors: Adam Freeman
<a href="https://amzn.to/4rDm43L"><img src="gobooks/covers/pro-go.jpeg" width="120px"/></a>
Starting from the basics and building up to the most advanced and sophisticated features. You will learn how Go builds on a simple and consistent type system to create a comprehensive and productive development experience that produces fast and robust applications that run across platforms.
- Gain a solid understanding of the Go language and tools
- Gain in-depth knowledge of the Go standard library
- Use Go for concurrent/parallel tasks
- Use Go for client- and server-side development
Go for DevOps
Last published: 2022 Authors: John Doak, David Justice
<a href="https://amzn.to/3LZBwrT"><img src="gobooks/covers/go-for-devops.jpg" width="120px"/></a>
Go is the go-to language for DevOps libraries and services, and without it, achieving fast and safe automation is a challenge. With the help of Go for DevOps, you'll learn how to deliver services with ease and safety, becoming a better DevOps engineer in the process.
Some of the key things this book will teach you are how to write Go software to automate configuration management, update remote machines, author custom automation in GitHub Actions, and interact with Kubernetes. As you advance through the chapters, you'll explore how to automate the cloud using software development kits (SDKs), extend HashiCorp's Terraform and Packer using Go, develop your own DevOps services with gRPC and REST, design system agents, and build robust workflow systems.
By the end of this Go for DevOps book, you'll understand how to apply development principles to automate operations and provide operational insights using Go, which will allow you to react quickly to resolve system failures before your customers realize something has gone wrong.
How to Code in Go
Last published: 2020 Authors: Mark Bates, Cory LaNou and Tim Raymond Avaible For Free : epub, pdf
This book is designed to introduce you to writing programs with the Go programming language. You'll learn how to write useful tools and applications that can run on remote servers, or local Windows, macOS, and Linux systems for development.
API Foundations in Go
Last published: 2019 Authors: Tit Petric
<a href="https://amzn.to/4tkfSPE"><img src="gobooks/covers/api-foundations-in-go.jpeg" width="120px"/></a>
With this book you'll learn to use Go, taking advantage of it's multi-threaded nature, and typed syntax. Starting your API implementation in Go is your first step towards what a rock solid API should be.
The Go Workshop
Last published: 2019 Authors: Delio D'Anna, Andrew Hayes, Sam Hennessy, Jeremy Leasor, Gobin Sougrakpam, and Dániel Szabó
<a href="https://amzn.to/3MrFZUk"><img src="gobooks/covers/the-go-workshop.avif" width="120px"/></a>
The Go Workshop will take the pain out of learning the Go programming language (also known as Golang). It is designed to teach you to be productive in building real-world software. Presented in an engaging, hands-on way, this book focuses on the features of Go that are used by professionals in their everyday work.
Head First Go
Last published: 2019 Authors: Jay McGavren
<a href="https://amzn.to/4r1FJdA"><img src="gobooks/covers/head-first-go.jpg" width="120px"/></a>
Go makes it easy to build software that's simple, reliable, and efficient. Andthis book makes it easy for programmers like you to get started. Google designed Go for high-performance networking and multiprocessing, but—like Python and JavaScript—the language is easy to read and use. With this practical hands-on guide, you'll learn how to write Go code using clear examples that demonstrate the language in action. Best of all, you'll understand the conventions and techniques that employers want entry-level Go developers to know.
Learning Go
Last published: 2018 Authors: Miek Gieben Avaible For Free : Source Code
A online book to start learning Golang. It features numerous exercises (and answers).
Get Programming with Go
Last published: 2018 Authors: Nathan Youngman and Roger Peppé
<a href="https://amzn.to/4ts8ylm"><img src="gobooks/covers/get-programming-with-go.png" width="120px"/></a>
Get Programming with Go introduces you to the powerful Go language without confusing jargon or high-level theory. By working through 32 quick-fire lessons, you'll quickly pick up the basics of the innovative Go programming language!
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 regarded as the definitive guide to Go programming, this book offers an in-depth exploration of the language's syntax, data structures, and unique features such as goroutines and channels. Key topics include concurrency, error handling, and best practices in software engineering. Whether you're a developer transitioning from another language or someone seeking to deepen your Go knowledge, this book is an invaluable resource for mastering both foundational and advanced concepts.
Advanced Books
Go at Scale: Patterns for Professional Development
<a href="https://rezmoss.com/go-at-scale/"><img src="gobooks/covers/go-at-scale.jpg" width="120px"/></a>
Last published: 2025 Authors: ****
Go at Scale is your comprehensive guide to writing scalable, maintainable, and efficient Go code. Moving beyond the basics, this book dives deep into advanced patterns and practices used in real-world applications.
The Power of Go: Tools
<a href="https://bitfieldconsulting.com/books/tools"><img src="gobooks/covers/the-power-of-go-tools.png" width="120px"/></a>
Last published: 2024 Authors: John Arundel
Go is a popular choice for writing DevOps and systems programs, and command-line tools in particular. How can we write simple, powerful, idiomatic, and even beautiful tools in Go? This book covers all the necessary techniques: functional options, flags and arguments, files and filesystems, executing commands, writing shells and pipelines, JSON and YAML wrangling, and even sophisticated API clients.
Even more importantly, the book teaches you how to think like a master software engineer: how to break down problems into manageable chunks, how to test functions before they're written, and how to design Go CLIs that delight users.
Build an Orchestrator in Go
<a href="https://www.manning.com/books/build-an-orchestrator-in-go"><img src="gobooks/covers/build-an-orchestrator-in-go.png" width="120px"/></a>
Last published: 2024 Authors: Tim Boring
Understand Kubernetes and other orchestration systems deeply by building your own using Go and the Docker API.
Orchestration systems like Kubernetes coordinate other software subsystems and services to create a complete organized system. Although orchestration tools have a reputation for complexity, they're designed around few important patterns that apply across many aspects of software development. Build an Orchestrator in Go reveals the inner workings of orchestration frameworks by guiding you as you design and implement your own using the Go SDK. As you create your own orchestration framework, you'll improve your understanding of Kubernetes and its role in distributed system design. You'll also build the skills required to design custom orchestration solutions for those times when an out-of-the-box solution isn't a good fit.
Explore Go: Cryptography
<a href="https://bitfieldconsulting.com/books/crypto"><img src="gobooks/covers/explore-go-cryptography.png" width="120px"/></a>
Last published: 2024 Authors: John Arundel
Much of the modern world is built on cryptography, and this book introduces readers to the fundamental principles of ciphers, keys, and hashing. It traces the development of increasingly sophisticated cryptographic schemes from the Caesar cipher to SHA-256 and AES-GCM, including dozens of example Go programs and coding challenges. The book concludes with a review of best practices for handling encryption and authentication in Go applications.
Practical guide for building a blockchain from scratch in Go with gRPC Free
Last published: 2024 Authors: ****
A foundational and practical guide for effectively learning the fundamental blockchain concepts and progressively building a blockchain from scratch in Go with gRPC. An interesting and challenging adventure that takes you from the foundational concepts and purpose through the technical design and implementation to the practical testing and usage of the proposed blockchain. Simple, yet non-trivial. Concise, yet detailed. Practical, yet well-grounded.
truncated — full list on GitHub