A curated list of books about Go.
Photo by Thought Catalog on Unsplash |
Please find below our ever-expanding list of Go books. Hopefully, you'll find something of your interest. For suggestions, please reach out on Twitter.
Free Books and References about Go
Non-Free books
Those without budget restrictions, should consider the list below. We're not adding any links or affiliates so please look them in your favorite store/library.
Learn Go
The Go Programming Language
Alan A. A. Donovan and Brian W. Kernighan
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. The book does not assume prior knowledge of Go nor experience with any specific language, so you’ll find it accessible whether you’re most comfortable with JavaScript, Ruby, Python, Java, or C++.Go in Action
William Kennedy with Brian Ketelsen and Erik St. Martin
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.Go in Practice
Matt Butcher and Matt Farina
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.Hands-On Software Engineering with Go
Achilleas Anagnostopoulos
This book distills industry best practices for writing lean Go code that is easy to test and maintain, and helps you to explore its practical implementation by creating a multi-tier application called Links ‘R’ Us from scratch. You’ll be guided through all the steps involved in designing, implementing, testing, deploying, and scaling an application.Concurrency in Go: Tools and Techniques for Developers
Katherine Cox-Buday
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.Web Development
Go Web Development Cookbook
Arpit AggarwalGo is an open source programming language that is designed to scale and support concurrency at the language level. This gives you the liberty to write large concurrent web applications with ease. From creating web application to deploying them on Amazon Cloud Services, this book will be your one-stop guide to learn web development in Go. The Go Web Development Cookbook teaches you how to create REST services, write microservices, and deploy Go Docker containers.
Go Web Programming
Sau Sheong ChangGo Web Programming teaches you how to build web applications in Go using modern design principles. You'll learn how to implement the dependency injection design pattern for writing test doubles, use concurrency in web applications, and create and consume JSON and XML in web services. Along the way, you'll discover how to minimize your dependence on external frameworks, and you'll pick up valuable productivity techniques for testing and deploying your applications.
This book includes complete hands-on examples written in Go, Java, Node, and Python, this book also covers the essential techniques and best practices to use gRPC in production systems. Authors Kasun Indrasiri and Danesh Kuruppu discuss the importance of gRPC in the context of microservices development.
Cloud and Microservices
Cloud Native Go: Building Web Applications and Microservices for the Cloud with Go and React
Kevin Hoffman and Dan Nemeth
Cloud Native Go shows developers how to build massive cloud applications that meet the insatiable demands of today’s customers, and will dynamically scale to handle virtually any volume of data, traffic, or users. You’ll walk through creating microservices in Go, adding front-end web components using ReactJS and Flux, and mastering advanced Go-based cloud-native techniques. Hoffman and Nemeth show how to build a continuous delivery pipeline with tools like Wercker, Docker, and Dockerhub; automatically push apps to leading platforms; and systematically monitor app performance in production.Building Microservices with Go
Nic Jackson
Microservice architecture is sweeping the world as the de facto pattern to build web-based applications. Golang is a language particularly well suited to building them. Its strong community, encouragement of idiomatic style, and statically linked binary artifacts make integrating it with other technologies and managing microservices at scale consistent and intuitive. Building Microservices with Go will teach you the common patterns and practices, showing you how to apply these using the Go programming language.gRPC
gRPC: Up and Running
Kasun Indrasiri and Danesh Kuruppu
Get a comprehensive understanding of gRPC fundamentals through real-world examples. With this practical guide, you’ll learn how this high-performance interprocess communication protocol is capable of connecting polyglot services in microservices architecture, while providing a rich framework for defining service contracts and data types.This book includes complete hands-on examples written in Go, Java, Node, and Python, this book also covers the essential techniques and best practices to use gRPC in production systems. Authors Kasun Indrasiri and Danesh Kuruppu discuss the importance of gRPC in the context of microservices development.
Cyber-Security
Black Hat Go
Tom Steele, Chris Patten and Dan Kottmann
Black Hat Go explores the darker side of Go, the popular programming language revered by hackers for its simplicity, efficiency, and reliability. It provides an arsenal of practical tactics from the perspective of security practitioners and hackers to help you test your systems, build and automate tools to fit your needs, and improve your offensive security skillset, all using the power of Go.Would you have any book to recommend? Please share it with us on Twitter or by using the contact page. Thanks!