"Generics, real error handling, actual project structure, the stuff I had to go learn the hard way elsewhere is finally just in the book now."
—Mario Carrion, Paramount
Go in Action, Second Edition is the definitive guide to mastering Go’s unique type system and high-performance concurrency model. Coauthored by industry veterans Joel Holmes, Andrew Walker, and Go legend William Kennedy, this fully revised new edition reflects modern Go practices, replacing legacy environments with Go Modules and multi-module workspaces. You’ll find full coverage of Go Generics, native fuzz testing, and structured JSON processing, along with the architectural principles you’ll need to build AI-powered and agentic applications.
Written for working developers, this insightful book explains the “why” behind Go’s design decisions and shows you how those choices make it easier to write clean, safe code for highly concurrent software. It guides you through the creation of production-grade applications, including using Domain-Driven Design (DDD) and Hexagonal Architecture to build scalable, decoupled systems. Reviewer Rene G. Perrin of the Chicago Mercantile Exchange notes the “…excellent real-world examples of non-trivial tasks,” including a CLI conversion utility and a background RSS worker, that illustrate how to write software that behaves predictably under heavy workloads.
Go in Action, Second Edition also addresses the massive shifts in the software landscape caused by AI and agentic applications. You will learn how to design architectural boundaries using the Ports and Adapters pattern so that volatile LLM models and APIs can act as swappable adapters. These architectural decoupling techniques also ensure your core business logic remains completely unchanged, whether you are targeting a massive commercial LLM or a local model.
Two comprehensive appendices walk you through a full AI engineering exercise, where you build a high-performance vector search database with Qdrant, generate semantic embeddings, and implement an LLM-powered summarization pipeline using Ollama and LangChain for Go. Reviewer Hyeonggeun Oh of Amazon Web Services comments that the book’s “focus on modern patterns and AI integration directly mirrors the evolving demands of the industry.”
Go in Action, Second Edition meets you exactly at the intersection of modern application development and the established patterns and engineering practices that still govern reliable enterprise systems. The result is a comprehensive guide that helps you integrate Go into your daily workflow—from idiomatic code to orchestrating advanced, distributed systems.
Shipping Go shows you how to build Go-specific software development pipelines. You’ll have a basic CI/CD process up and running by the time you finish Chapter 3, along with an iterative process for designing, releasing, and revising your applications. Then, you’ll systematically upgrade your pipeline to support containerization, integration testing, semantic versioning, and automated deployment. A set of handy appendices help you translate these valuable practices to Kotlin, Python, and JavaScript applications.
Refactoring to Rust shows you exactly where and how to integrate Rust surgically into applications written in another language. You’ll start by reviewing Rust’s unique syntax and concepts, with special emphasis on unique language features like variable lifetime and ownership. Then, you’ll learn to use Rust to wrap dangerous code, call standard and custom Rust libraries, and even use WASM to run Rust in the browser.
Go in Action is for any intermediate-level developer who has experience with other programming languages and wants a jump-start in learning Go or a more thorough understanding of the language and its internals. This book provides an intensive, comprehensive, and idiomatic view of Go. It focuses on the specification and implementation of the language, including topics like language syntax, Go's type system, concurrency, channels, and testing.