Go in Action
Audiobook & Ebook

Go in Action by William Kennedy | Free Audiobook

By William Kennedy

Narrated by Mark Thomas

🎧 5 hours and 38 minutes 📘 Manning Publications 📅 November 29, 2018 🌐 English
🎧 Listen Free on Audible 📖 Read on Kindle

Free 30-day trial · Cancel anytime

About This Audiobook

Go in Action introduces the Go language, guiding you from inquisitive developer to Go guru. The book begins by introducing the unique features and concepts of Go. Then, you’ll get hands-on experience writing real-world applications including websites and network servers, as well as techniques to manipulate and convert data at speeds that will make your friends jealous.

Application development can be tricky enough even when you aren’t dealing with complex systems, and programming problems like web-scale concurrency and real-time performance. While it’s possible to solve these common issues with additional tools and frameworks, Go handles them right out of the box, making for a more natural and productive coding experience. Developed at Google, Go powers nimble startups as well as big enterprises – companies that rely on high-performing services in their infrastructure.

Go in Action is for any intermediate-level developer who has experience with other programming languages and wants a jump-start in learning Go or a more thorough understanding of the language and its internals. This book provides an intensive, comprehensive, and idiomatic view of Go. It focuses on the specification and implementation of the language, including topics like language syntax, Go’s type system, concurrency, channels, and testing.

This audiobook includes information about:

Language specification and implementation
Go’s type system
Internals of Go’s data structures
Testing and benchmarking

This book assumes you’re a working developer proficient with another language like Java, Ruby, Python, C#, or C++.

William Kennedy is a seasoned software developer and author of a blog. Brian Ketelsen and Erik St. Martin are the organizers of GopherCon and co-authors of the Go-based Skynet framework.

Table of contents:

Introducing Go
Go quick-start
Packaging and tooling
Arrays, slices, and maps
Go’s type system
Concurrency
Concurrency patterns
Standard library
Testing and benchmarking

PLEASE NOTE: When you purchase this title, the accompanying PDF will be available in your Audible Library along with the audio.

🎧 Listen Free on Audible

Free 30-day trial · Cancel anytime

Quick Take

  • Narration: Mark Thomas delivers a clean, technically precise reading that keeps pace with the dense material, he handles code-adjacent vocabulary without stumbling, and the chapters feel like structured lectures rather than recitations.
  • Themes: Go language internals, concurrency as a design philosophy, idiomatic programming
  • Mood: Focused and methodical, like a good workshop session
  • Verdict: A strong intermediate-level Go companion that rewards listeners who already have some programming foundations, not the place to start from scratch.

I had my first real encounter with Go during a stint editing technical content for a software company whose engineers kept describing it as the language that gets out of your way. I didn’t fully understand what they meant until I spent time with Go in Action, which William Kennedy wrote alongside Brian Ketelsen and Erik St. Martin. The book kept coming up in forums and reading lists as the right second step for developers who’d worked through the official Tour of Go and wanted something with more structural depth. I finished the audiobook over the course of a working week, an hour at a time in the early morning before my inbox filled up.

The three authors bring different angles to the material. Kennedy is the blog-writer and community presence, Ketelsen and St. Martin are the organizers of GopherCon and co-authors of a Go-based framework. That combination gives the book a practical, community-facing sensibility. This isn’t a language reference manual dressed up as a tutorial. It’s an opinionated guide to how Go is actually used by people who’ve built things with it.

What the Table of Contents Doesn’t Convey

The chapter list, type system, concurrency, channels, testing, reads like any programming language book from the past decade. What distinguishes Go in Action is the weight it places on internals. When Kennedy explains Go’s slice type, he doesn’t just describe its behavior; he walks through the underlying memory model, the three-field header structure, the difference between length and capacity in practice. The same treatment applies to maps, goroutines, and the scheduler. This is the kind of material that doesn’t just help you use the language correctly. It helps you reason about why it behaves the way it does when something goes wrong.

One listener described it as a great second Go book, and that framing is exactly right. The concurrency chapter in particular assumes you’ve already encountered the concept and are ready to think about it structurally rather than syntactically. Hand-holding is minimal. If you’ve spent time with another systems language or have intermediate experience in something like Java or Python, the pace will feel brisk but appropriate. If you’re newer than that, you’ll want to supplement.

The Audiobook Format and Its Limits

A PDF companion is included with this Audible title, and I want to be direct about how much that matters: for Go in Action, the PDF is not optional. The book contains code samples that are load-bearing to the argument in several chapters, particularly the concurrency patterns section. Mark Thomas reads code blocks clearly and without rushing, which is to his credit, but following a goroutine example through your ears alone requires a level of working memory that most listeners will find taxing. Keep the PDF open. The chapters on arrays, slices, and maps especially benefit from the visual reference.

That said, Thomas’s narration works well for the explanatory prose, which constitutes the majority of the runtime. He doesn’t perform the text so much as deliver it, a distinction that matters here. Go in Action is not a book you’re meant to feel. It’s a book you’re meant to think with, and Thomas’s register matches that purpose.

Concurrency as the Book’s Real Subject

Concurrency occupies two chapters, and those chapters are where Go in Action earns its reputation. Most introductions to Go mention goroutines and channels as selling points and leave it there. Kennedy goes further, examining the patterns by which you compose concurrent code responsibly, the race conditions that appear when goroutines share state, the idiomatic use of channels to communicate rather than coordinate, the patterns like fan-out and fan-in that emerge from Go’s concurrency primitives.

What struck me about this section was its honesty about tradeoffs. Kennedy doesn’t treat Go’s concurrency model as a solution to all problems. He acknowledges the situations where it introduces complexity and where simpler sequential code would serve better. That intellectual honesty is rarer in technical literature than it should be, and it lifts the book above the promotional register of many language guides.

Who Should Listen, Who Should Skip

Go in Action is well matched for developers with experience in at least one other language who are trying to move beyond Go’s surface features into its actual idioms. It is particularly useful for engineers coming from Java or Python who want to understand how Go’s approach to type embedding, interface satisfaction, and concurrency differ in practice, not just in syntax. Beginners will find it moves too fast. Experienced Go engineers will likely know most of the material but may still value the internals sections. The five-and-a-half-hour runtime makes it manageable for a single focused week of commute listening, which is roughly how I consumed it.

Frequently Asked Questions

Can I follow Go in Action without any prior Go experience?

The book is explicitly positioned for developers with experience in other languages who want more than a syntax tour. If you have no Go background at all, the authors recommend starting with the official Go Tour or a more basic primer like Caleb Doxsey’s Introducing Go first. Multiple reviewers describe it as the ideal second Go book rather than a first one.

How essential is the PDF companion for audio listeners?

For the explanatory sections, you can follow the audio comfortably without it. For the code samples, particularly the concurrency patterns, slice internals, and testing chapters, the PDF is genuinely important. The code blocks are read clearly by Mark Thomas, but visual reference significantly reduces cognitive load when following multi-step examples.

Does the book cover Go’s standard library in useful depth?

There is a dedicated chapter on the standard library, but it functions more as an orientation than a comprehensive reference. Kennedy highlights the most commonly used packages and explains their design philosophy rather than cataloging every function. The focus throughout is on language internals and idiomatic patterns rather than API coverage.

Is Go in Action still relevant given how quickly Go has evolved?

The core material on Go’s type system, concurrency model, channels, and testing patterns remains accurate and useful. Some tooling details and module system information may reflect an older state of the ecosystem. For production Go development, you’ll want to supplement with current documentation on modules and generics, which postdate this edition.

Ready to listen?

🎧 Listen to Go in Action for free

Free 30-day trial · Cancel anytime

Alexandra Reed

Written by Alexandra Reed

Founder & Literary Critic