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 August and ensure you’re getting smarter. We have also mentioned the brief introduction of each book based on the relevant Amazon or Reddit descriptions.
- The Go Programming Language (2015)
- Go in Action (2015)
- Go in Practice: Includes 70 Techniques (2016)
- Concurrency in Go (2017)
- Introducing Go: Build Reliable, Scalable Programs (2016)
- Building Microservices: Designing Fine-Grained Systems (2015)
- Go in 24 Hours, Sams Teach Yourself: Next Generation Systems Programming with Golang (2017)
- Cloud Native programming with Golang: Develop microservice-based high performance web apps for the cloud with Go (2017)
- The Go Bestiary (2017)
- Go Web Programming (2016)
- Data Structures & Algorithms In Go (2017)
- Designing Data-Intensive Applications (2017)
The Go Programming Language (2015)
The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. It shows how to write clear and idiomatic Go to solve real-world problems.
Author(s): Alan A. A. Donovan, Brian W. Kernighan
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
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
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.
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.
Author(s): Sam Newman
Go in 24 Hours, Sams Teach Yourself: Next Generation Systems Programming with Golang (2017)
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.
Author(s): George Ornbo
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
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.
Author(s): Kenneth Grant
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
Author(s): Hemant Jain
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?
Author(s): Martin Kleppmann
Best Golang Books that Should be on Your Bookshelf
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 Library 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.
Hands-On Software Engineering with Golang: Move beyond basic programming to design and build reliable software with clean code
Author(s): Achilleas Anagnostopoulos
ID: 2794223, Publisher: Packt Publishing, Year: 2020, Size: 11 Mb, Format: pdf
KOTLIN AND GOLANG FOR BEGINNERS
Author(s): SEL, TAM
ID: 2929639, Publisher: , Year: 2020, Size: 2 Mb, Format: azw3
Mastering Go: Create Golang production applications using network libraries, concurrency, machine learning, and advanced data structures
Author(s): Mihalis Tsoukalos
ID: 2433891, Publisher: Packt Publishing, Year: 2019, Size: 8 Mb, Format: pdf
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.