Go is a compiled, statically typed, open source programming language known for its garbage collection and memory safety features. Originally created at Google in 2009, the language has matured a lot in the recent years. As ardent fans of the language like to point out, Go provides high performance like C/C++, has super efficient concurrency handling like Java and is fun to code like Python/Perl. So, we decided to compile a list of the 5 best Golang book recommendations for you, aspiring Go developers. Have fun learning Go. And, if you are new to learning programming languages, do check out our blog post on how to learn any programming language productively.
1. Best Golang Book Overall (Our Pick): The Go Programming Language
Every programming language has one book that becomes the de-facto book. C has K&R and other programming languages have their own. This book is for Go what K&R is for C. Hands down the best Go book you can buy. It shows how to write clear and idiomatic Go to solve real-world problems.
2. Best Golang Books for Starters (Free!)
- An Introductory Go programming book particularly aimed at developers who might not be quite comfortable with the idea of pointers and static typing.
- An Introduction to Programming in Go: Another great free Go Book for Beginners
- This companion book contains material initially written specifically for this event as well as content from Google & the Go team under Creative Commons Attribution 3.0 License and code licensed under a BSD license.
- Learning Go: A online book to start learning Golang. It features numerous exercises (and answers).
3. Best Golang Book for Advanced Learners: Writing An Interpreter In Go
Here is a short and crisp book for all you nerdy developers who want to get their hands dirty. In this book, you will create a programming language from scratch. You’ll start with 0 lines of code and end up with a fully working interpreter for the ‘Monkey’ programming language. How Fun! The author describes, in step by step, how to construct a Top Down Operator Precedence or Pratt Parser. The book contains a great deal of simple, elegant code that is a joy to read. Also, the book contains just enough theory to help you understand, but not too much that you get overwhelmed.
4. Best Golang Book for Web Programmers: Go Web Programming
Go Web Programming teaches you how to build web applications in Go using modern design principles. The book assumes you’re familiar with Go language basics and the general concepts of web development. The book is densely filled with easy to understand and apply Golang web tools. Also, the chapters are clearly divided into easy-to-digest topics which can easily stand on their own. Highly recommended for intermediate to advanced Go learners.
5. Another Short Golang book for Advanced Learners: Concurrency in Go
Here is a great and short (70 pages) book about one of the very interesting aspects of the Go language: Concurrency. With this book, you’ll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems. Also, you’ll understand the principles, patterns and technical underpinnings of the interesting parts of the language. All in all, a solid survey of the most important features of a very powerful language. Highly recommended.
Here are some more resources that will help you better learn Go: