In this post, we have prepared a curated top list of reading recommendations for beginners and experienced. This hand-picked list of the best Golang books and tutorials can help fill your brain this October and ensure you’re getting smarter. We have also mentioned the brief introduction of each book based on the relevant Amazon or Reddit descriptions.
1. The Go Programming Language (2015)
Author(s): Alan A. A. Donovan, Brian W. Kernighan
2. Go in Action (2015)
Go in Action introduces the Go language, guiding you from inquisitive developer to Go guru. The book begins by introducing the unique features and concepts of Go. Then, you’ll get hands-on experience writing real-world applications including websites and network servers, as well as techniques to manipulate and convert data at speeds that will make your friends jealous. Application development can be tricky enough even when you aren’t dealing with complex systems programming problems like web-scale concurrency and real-time performance.
Author(s): William Kennedy, Brian Ketelsen
3. Go in Practice: Includes 70 Techniques (2016)
Go in Practice guides you through 70 real-world techniques in key areas like package management, microservice communication, and more. Following a cookbook-style Problem/Solution/Discussion format, this practical handbook builds on the foundational concepts of the Go language and introduces specific strategies you can use in your day-to-day applications. Go may be the perfect systems language. Built with simplicity, concurrency, and modern applications in mind…
Author(s): Matt Butcher, Matt Farina
4. Concurrency in Go (2017)
Concurrency can be notoriously difficult to get right, but fortunately, the Go open source programming language makes working with concurrency tractable and even easy. If you’re a developer familiar with Go, this practical book demonstrates best practices and patterns to help you incorporate concurrency into your systems. Author Katherine Cox-Buday takes you step-by-step through the process. You’ll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose…
Author(s): Katherine Cox-Buday
Perfect for beginners familiar with programming basics, this hands-on guide provides an easy introduction to Go, the general-purpose programming language from Google. Author Caleb Doxsey covers the language’s core features with step-by-step instructions and exercises in each chapter to help you practice what you learn. Go is a general-purpose programming language with a clean syntax and advanced features, including concurrency. This book provides the one-on-one support you need to get started…
Author(s): Caleb Doxsey
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures. Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding…
Author(s): Sam Newman
In just 24 sessions of one hour or less, Sams Teach Yourself Go in 24 Hours will help new and experienced programmers build software that’s simpler, more reliable, and far more scalable. This book’s straightforward, step-by-step approach guides you from setting up your environment through testing and deploying powerful solutions. Using practical examples, expert Go developer George Ornbo walks you through Go’s fundamental constructs, demonstrates its breakthrough features…
Author(s): George Ornbo
8. Cloud Native programming with Golang: Develop microservice-based high performance web apps for the cloud with Go (2017)
Discover practical techniques to build cloud-native apps that are scalable, reliable, and always available. Cloud computing and microservices are two very important concepts in modern software architecture. They represent key skills that ambitious software engineers need to acquire in order to design and build software applications capable of performing and scaling. Go is a modern cross-platform programming language that is very powerful yet simple; it is an excellent choice…
Author(s): Mina Andrawos, Martin Helmich
9. The Go Bestiary (2017)
The Go Bestiary provides a quick guide to allow a programmer who has some experience in other languages get started quickly in Go, while being aware of the idioms to use and areas where there might be bugs lurking in their new Go code. The book presents a mix of advice for structuring your Go programs and descriptions of common mistakes to avoid, with liberal code examples, to help ease you into using the Go programming language effectively. If you’re familiar with Go but not an expert, hopefully there will also be a few interesting facts about the language you haven’t yet uncovered, and some potential bugs which you might…
Author(s): Kenneth Grant
10. Go Web Programming (2016)
Go Web Programming teaches you how to build scalable, high-performance web applications in Go using modern design principles. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. The Go language handles the demands of scalable, high-performance web applications by providing clean and fast compiled code, garbage collection, a simple concurrency model, and a fantastic standard library. It’s perfect for writing microservices or building scalable, maintainable systems.
Author(s): Sau Sheong Chang
11. Data Structures & Algorithms In Go (2017)
Author(s): Hemant Jain
12. Designing Data-Intensive Applications (2017)
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords? In this practical and comprehensive guide, author Martin Kleppmann helps you navigate…
Author(s): Martin Kleppmann
API Foundations in Go. 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. Advanced Books Test-driven development with Go Free. A short guide to Test-driven development in golang. free to read Go Concurrency from the Ground Up. Learn about Go’s concurrency features by implementing them in another programming language. Bootcamp. A 4-week instructional series that covers the material in An Introduction to Programming in Go as well as the basics of server-side web development and Google App Engine. I am writing a book, Go programming: A hands-On Guide which will help quickly get started with Go programming using a hands on approach. This book includes well thought out practice exercises to strengthen the reader’s understanding of Go programming concepts. The book also teaches how to organize a Go project with the help of 2 real world Go The Go programming language. Contribute to golang/go development by creating an account on GitHub.
We highly recommend you to buy all paper or e-books in a legal way, for example, on Amazon. But sometimes it might be a need to dig deeper beyond the shiny book cover. Before making a purchase, you can visit resources like Genesis and download some Golang books mentioned below at your own risk. Once again, we do not host any illegal or copyrighted files, but simply give our visitors a choice and hope they will make a wise decision.
Mastering Go: Create Golang production applications using network libraries, concurrency, and advanced Go data structures
Author(s): Mihalis Tsoukalos
Publisher: Packt Publishing, Year: 2018, Size: 8 Mb, Download: pdf
Building RESTful Web services with Go: Learn how to build powerful RESTful APIs with Golang that scale gracefully
Author(s): Naren Yellavula
Publisher: Packt Publishing - ebooks Account, Year: 2017, Size: 4 Mb, Download: pdf
Cloud native programming with Golang : develop microservice-based high performance web apps for the cloud with Go
Author(s): Andrawos, Mina; Helmich, Martin
Publisher: Packt Publishing, Year: 2017, Size: 22 Mb, Download: epub
Please note that this booklist is not absolute. Some books are truly best-sellers according to USA Today, others are written by unknown authors. On top of that, you can always find additional tutorials and courses on Coursera, Udemy or edX, for example. Are there any other relevant books you could recommend? Drop a comment if you have any feedback on the list.