Awesome Go

GoBooks

CategoryE-Books
SubcategoryFree e-books
Stars19,722

A curated list of Go books

About GoBooks

This large README is shown as a plain-text preview. Read the full README at the source

# Awesome Go Books

[![Validate README](https://github.com/dariubs/GoBooks/actions/workflows/validate.yml/badge.svg)](https://github.com/dariubs/GoBooks/actions/workflows/validate.yml) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)


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](gobooks/README-es.md) · [中文](gobooks/README-zh.md) · [Português](gobooks/README-pt.md) · [Русский](gobooks/README-ru.md) · [Deutsch](gobooks/README-de.md) · [فارسی](gobooks/README-fa.md)

- [Most Popular Golang Books](#most-popular-go-books)
- [Starter Books](#starter-books)
- [Advanced Books](#advanced-books)
- [Web Development](#web-development) 
- [Resources](#resources)
- [Contributing](#contributing)
- [License](#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](https://amzn.to/3MbHW7i)

<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.

-----

### [Boring Go](https://golang.college/books/boring-go)

*Last published*: **2026**
*Authors:* **Dariush Abbasi**, **Hassan Aminfar**

<a href="https://golang.college/books/boring-go"><img src="gobooks/covers/boring-go.png" width="120px"/></a>

*Boring Go* is a practical guide to writing Go the way it works best in real projects—simple, explicit, and a little boring (in the good way). It champions clarity over novelty, readability over magic, and shows why boring code is often the most reliable, maintainable, and scalable choice.

-----

### [Learning Go: An Idiomatic Approach to Real-World Go Programming, 2nd Edition](https://amzn.to/4ceJWWQ)

<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](https://amzn.to/4p8eldS)

<a href="https://amzn.to/4p8eldS"><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](https://quii.gitbook.io/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](https://github.com/quii/learn-go-with-tests)**

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](https://amzn.to/45PIyGq)

<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!](https://lets-go.alexedwards.net/)

<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](https://amzn.to/4r1FJdA)

<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](https://amzn.to/4tlEqaX)

[<img src="gobooks/covers/black-hat-go.jpg" width="120px"/>](https://amzn.to/4tlEqaX)

*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](https://amzn.to/4ycxS0Q)

<a href="https://amzn.to/4ycxS0Q"><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](https://lets-go-further.alexedwards.net/)

<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


### [Boring Go](https://golang.college/books/boring-go)

*Last published*: **2026**
*Authors:* **Dariush Abbasi**, **Hassan Aminfar**

<a href="https://golang.college/books/boring-go"><img src="gobooks/covers/boring-go.png" width="120px"/></a>

*Boring Go* is a practical guide to writing Go the way it works best in real projects—simple, explicit, and a little boring (in the good way). It champions clarity over novelty, readability over magic, and shows why boring code is often the most reliable, maintainable, and scalable choice.

-----

### [Learn Go With Tests](https://quii.gitbook.io/learn-go-with-tests/)

*Last published*: **2025**
*Authors:* **Chris James**
*Avaible For Free* : **[Source Code](https://github.com/quii/learn-go-with-tests)**

<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](https://amzn.to/4cliBlM)

*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](https://bitfieldconsulting.com/books/deeper)

*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](https://amzn.to/4ceJWWQ)

*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](https://amzn.to/4agrPgG)

*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](https://go101.org/article/101.html)

*Last published*: **2023**
*Authors:* **Tapir Liu**
*Avaible For Free* : **[Read Online](https://go101.org/article/101.html)**


<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](https://amzn.to/46oiZfC)

*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](https://leanpub.com/gofaster)

*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](https://amzn.to/4ra6o8q)

*Last published*: **2023**
*Authors:* **Joel Holmes**


<a href="https://amzn.to/4ra6o8q"><img src="gobooks/covers/shipping-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](https://amzn.to/4rzgHSW)

*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](https://www.pazams.com/Go-for-Javascript-Developers/)

*Last published*: **2022**
*Authors:* **Maor Zamski** and **Daniel Singer**
*Avaible For Free* : **[Source Code](https://github.com/pazams/go-for-javascript-developers)**

<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](https://leanpub.com/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](https://www.practical-go-lessons.com/)

*Last published*: **2022**
*Authors:* **Maximilien Andile**
*Avaible For Free* : **[Read Online](https://www.practical-go-lessons.com)**


<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.

Frequently Asked Questions

What is GoBooks?

GoBooks is a E-Books library for the Go programming language. A curated list of Go books

How many GitHub stars does GoBooks have?

GoBooks has 19,722 GitHub stars in the directory's latest synchronization.

How do I install GoBooks?

Install GoBooks with the Go module system using `go get dariubs/GoBooks`. Check the repository for the current installation instructions.

What category does GoBooks belong to?

GoBooks is listed under E-Books, specifically Free e-books.

← Back to Free e-books