
The 2024 edition is fully updated and revised for Go 1.21, with masses of new material, and dozens of ready-to-use code samples. It also includes complete solutions to all code challenges. If you’ve already bought a previous version, just re-visit the link in your original download email to get the latest edition.
About the book
This friendly, supportive, yet challenging book will show you how master software engineers think, and guide you through the process of designing production-ready command-line tools in Go step by step.
If we can figure out how to break down our unsolved problems into a bunch of mini-problems that have already been solved by existing packages, then we're 90% done.
How do you break down a problem into manageable chunks? How do you test functions before you've written them? How do you design reusable libraries and tools that delight users? These are all questions I’ve encountered many times, and (good news!) The Power of Go: Tools has the answers.
If there's one thing worse than mandatory paperwork, it's mandatory meaningless paperwork.
What you’ll learn
It may be fun and easy reading, but this book is also a serious challenge. At each stage there are problems for you to solve, code to write, and design questions to ponder.
Throughout the twelve chapters and 260+ pages, you'll be tested to your limits, as you learn the intricacies of flags and arguments, files and filesystems, commands, shells and pipelines, JSON and YAML wrangling, and even sophisticated API clients.
There are more ways for things to go wrong than for them to go right, so it's totally fine for the majority of our code to be about error handling. Indeed, it's statistically inevitable.
As we work together to develop increasingly powerful and delightful tools in Go, you'll learn how to test behaviour, not functions; how to reduce error-handling boilerplate and eliminate paperwork; and how to make sure the user is the one having fun.
Don't think of it as a failing test: think of it instead as a succeeding bug detector.