about this book
Go in Action, Second Edition, tries to embody the spirit of the Go programming language by trying to keep everything as simple and clear as possible. Every chapter walks through an aspect of the language and the spirit and reason behind it. Rather than cataloging every language feature, this book focuses on understanding Go well enough to use it confidently in production.
This second edition is not a light refresh. Go has evolved substantially since the first edition, and this book treats those changes seriously. Generics, the updated testing toolchain with fuzzing and benchmarking, the log/slog structured logging package, modules and workspaces: these are not footnotes. They are first-class topics woven throughout the book.
Who should read this book
This book is written for developers who already know how to program. You don’t need prior Go experience, but you should be comfortable with concepts like variables, functions, loops, and data structures in at least one other language. If you’re coming from Python, Java, JavaScript, or C, you’ll find the comparisons throughout the book useful for grounding Go’s approach in something familiar.
This book is also valuable for developers who already know some Go but want to deepen their understanding of the type system, concurrency model, or testing practices. If you’re using Go 1.17 or earlier, the chapters on generics, error handling patterns, and the standard library will cover ground that may be entirely new to you.