Your Go service's business logic should have zero knowledge of HTTP, databases, or message queues - and Go's implicit interfaces make this not just possible, but natural.
Most hexagonal architecture content comes from the Java world - full of dependency injection frameworks, abstract factories, and patterns that don't translate to Go. This book is different. It teaches hexagonal architecture the Go way: with implicit interfaces, plain constructors, and a main() function as the composition root. No frameworks. No magic. Just Go.
In 22 chapters across 5 parts, you'll:
See why Go services become unmaintainable - and the one architectural rule that prevents itMaster the core concepts: domain, ports, adapters, and the dependency ruleBuild a complete order processing service from scratch with tested, production-ready codeTest every layer: domain in microseconds, adapters with doubles, integration through HTTPHandle errors across boundaries, transactions without leaking SQL, and event-driven adaptersAdd logging, metrics, and tracing via decorators - the domain stays pureKnow when hexagonal architecture is overkill and how to migrate existing services incrementallyEvery code example is tested and available in a public companion repository. Every chapter builds on the last. Every pattern is grounded in real Go, not theory.
Written by a senior software engineer who builds Go services every day at a Berlin-based tech company. If you can write Go but struggle with organizing larger services, this book is for you.
Companion code: github.com/gabrielanhaia/hexagonal-go-examples
This is the 2026 revised & updated edition - the print layout has been corrected and the content improved throughout.