For the Love of Go
For the Love of Go
Summary:
Introduction
The book «For the Love of Go» by John Arundel was published in 2022 and immediately attracted the attention of the developer community. This is not another dry syntax reference, but a lively, engaging introduction to the Go language (Golang), built on real projects. The author's goal is not just to teach how to write code, but to instill in the reader a love for the language, its philosophy, and its idioms. The book is 352 pages long and is suitable for both complete beginners and programmers transitioning from other languages.
What the book is about
The book consists of several parts, each of which is a complete project. Instead of abstract examples, the author suggests writing real applications: a simple web server, a command-line tool, a data parser, and even a small game. Each project is accompanied by detailed explanations of why the code is written one way and not another. Special attention is paid to testing, error handling, concurrency, and working with packages. John Arundel teaches not just syntax, but «Go-thinking» — how to think in Go.
Who this book is for
- Beginner programmers — those who are just starting their journey in development and want to choose a modern and fast language.
- Developers in other languages (Python, Java, JavaScript, C#) — the book will help you quickly master Go, avoiding typical transition mistakes.
- Students and teachers — excellent material for courses on the basics of programming.
- Anyone who wants to write clean, testable, and efficient code in Go.
What the reader will learn
- Basics of Go syntax: variables, types, functions, structures, interfaces.
- Working with packages and modules (go mod).
- Error handling in idiomatic Go style.
- Writing unit tests and using the
testingpackage. - Concurrency: goroutines, channels, select.
- Creating HTTP servers and clients.
- Working with the file system and JSON.
- Basics of refactoring and code design.
- Go tools: go fmt, go vet, go test, go build.
- Practical debugging and profiling skills.
Strengths
The first thing that wins you over in this book is the writing style. John Arundel writes easily, with humor and real-life examples. Each chapter begins with a problem statement, followed by its solution with explanations. A lot of attention is paid to testing — this is rare for introductory books. The author shows how to write tests before code (TDD) and why it is important. Another plus is the emphasis on idiomaticity. The reader learns not just «working» code, but code that will be understandable to other Go developers. The book contains many practical tips that will be useful in real work. Finally, all examples are relevant for the latest versions of Go (1.18+), including generics.
Who it is recommended for
The book will be useful for anyone who wants to start programming in Go or deepen their knowledge. I especially recommend it to those who are tired of academic textbooks and want to learn through practice. If you already know another language and want to quickly enter the world of Go — this is an excellent choice. For teachers, the book can serve as the basis for a course on modern programming. The only limitation: the book is not suitable for those looking for a comprehensive reference on all the features of Go — for that, it is better to consult the official documentation. But as an introduction to the language and philosophy, this is perhaps the best option available today.