The Deeper Love of Go
The Deeper Love of Go
Introduces Go for complete beginners, as well as those with some experience of programming.
Who is this book for?
Anyone who wants to learn Go, whether they have previous programming experience or not. It’s particularly suitable for self-taught programmers who want to build a solid understanding of both Go and the fundamentals of software development.
What problem does it solve?
Go is often described as a simple language. That’s true—but simple isn’t the same as easy. The Deeper Love of Go teaches Go from first principles in clear, approachable language. Along the way, you’ll not only learn how to write Go programs, but also develop a deeper understanding of how software is structured and how computers work.
The book explains Go from scratch in straightforward, non-technical language, introducing key ideas like variables, functions, and packages step by step. It’s a thoroughly practical and interactive guide, with every new concept introduced through working code and real programs.
What will I learn?
Starting from the fundamentals, we’ll gradually work up to higher-level topics like client/server applications and distributed systems. Along the way we’ll develop a practical understanding of issues like locking, data races, and state management.
- Fundamentals: functions, data, variables, and parameters
- Types: numbers, strings, structs and fields
- Tests: Go’s built-in
testingpackage, and using tests as a guide to development - Data: slices, maps, indexing, iteration, and sorting
- Command-line tools: arguments, flags, output, and file handling
- Abstractions: objects, methods, pointers, and validation
- Serialization: JSON, parsing, marshalling, and error handling
- Concurrency: goroutines, scheduling, mutexes, atomics, and data races
- Servers and clients: HTTP, requests and responses, and networked applications
Can I see a preview?
What do I get?
- PDF and ePub included
- Works on computers, tablets, phones, and ebook readers
Updates
- Free lifetime updates
- Regularly updated for new Go versions
Sam Ezebunandu, Senior Security Engineer, Grafana Labs
“The gentlest introduction to concurrency.”
It uses all the right technical terms and doesn't try to dumb things down, but still presents ideas in a way that keeps lightbulbs in my head continuously going off.
Ty Burrows, Owner, Lumitiv
“I’m finally learning!”
Most of the ‘beginner’ books I bought felt like they were written for people who already had years of experience. I came across John’s book in a Reddit thread, and it’s the first one that actually feels approachable.
Jonathan Hall, Software Delivery Consultant, Boldly Go
“Very friendly and accessible.”
This would probably be my pick for the absolute beginner to computer programming who wants to learn Go.

