From Go in Action, Second Edition by William Kennedy and Andrew Walker

This book will help you master Go language fundamentals, learn how to structure Go projects effectively, and deliver high-performance code using Go’s powerful concurrency model.

Read on to see how.


Take 25% off Go in Action, Second Edition by entering fcckennedy2 into the discount code box at checkout at manning.com.



Go, or “Golang”, is a general-purpose compiled programming language created for large-scale software projects in modern, highly-dynamic environments. It has concurrency primitives baked into the language, along with a simple, but powerful type system that includes generics and interfaces as first-class citizens.

Go is designed with programmer productivity in mind, and is easy to learn, with a robust tooling system and a dynamic runtime. It is quickly becoming the lingua franca of cloud computing, and has a bright future in this space.

This book takes advantage of your existing programming knowledge to fast-track you to Go mastery. Google Developer Expert in Go Andrew Walker has revised the original bestseller with William Kennedy, covering new language features and adding compelling real-world case studies. You’ll get a jump start on Go’s syntax and internals as you build a comprehensive and idiomatic view of Go. Skip the absolute basics, and get straight to language implementation including Go’s type system, concurrency, channels, and testing. Every example in the book comes complete with working code samples for you to download and tinker with.

What will you learn in this book?

  • How to set up and structure a Go software project.
  • Go language fundamentals, and what makes Go unique among other languages.
  • How the Go Type system works (updated to include generics), and how to use the type system to effectively represent the problems they wish to solve.
  • How Go does concurrency, and why this was important enough to build into the language.
  • Go’s unique approach to error handling, and best practices on writing and capturing errors in your own software.
  • How the built-in testing and observability features work in Go, and how to make them best work for you.

Go in Action is the second most-popular book on the Go programming language, and this second edition is not only updated to include the most significant developments in language features and idioms since the last edition, but has received a significant reworking as well, to make the material more intuitive and accessible. All of the examples in the book are actual code, that the user can download and run themselves and make modifications to. If they want. Additionally, great effort has been made to illustrate potentially-tricky concepts in a way that makes them easy to understand and reason about.

Readers will learn through a mixture of reference and case studies that mimic real-world scenarios in program design and evolution. This includes examples of the evolution of a software project from proof of concept to a more general purpose tool using language features and standard library routines. There are also examples detailing specific concepts, such as error handling, that illustrate the concept, from statement of need through execution.

What you need to make the most of this book

Proficiency in at least one OO programming language and a desire to learn Go.

Learn from Go experts

Andy Walker is a software engineer working with over a decade’s experience using Go. He has been recognized as a Google Developer Expert in Go and is a community organizer and Gophercon Staff member. He leads Go meetups, and has given many classes and presentations on the language.

William Kennedy is a managing partner at Ardan Labs in Miami, Florida, a mobile, web, and systems development company. In Go, Bill has written extensively on the Ardan Labs blog, has written two books, and has trained thousands of developers worldwide. Bill is also a founding member of GoBridge, which is working to increase Go adoption through diversity.

You can learn more about the book here.