There's a long list of books about Go on the market already, and I was almost tempted to get one to dive into Go a bit more formally and thoroughly than the couple of small forays I've made so far. However, once "The Go Programming Language" (GOPL) appeared, it became pretty clear that this is the book to get, simply because of the authors: Alan Donovan is a long-time Go team member at Google; Brian Kernighan is... well, Brian Kernighan. Having now read the book cover-to-cover over the course of a few weeks and having worked through a large portion of the exercises, I can gladly say I wasn't disappointed.

It's hard to escape the book's resemblance to the great K&R, both because of the same K, the name of the book, and its general structure which is very similar. I'm pretty sure this is intentional, and hey why not? K&R is still considered a classic in programming literature, for a good reason.

There weren't as many books in the 1980s as there are today, and unfortunately it's very common nowadays for books to try to differentiate themselves with all kinds of cutesy themes, forcefully "geeky" examples, being "for dummies" or "in 24 hours" and so on. GOPL does none of that. It retains the clear, crisp, to-the-point tone of K&R, without any distracting cuteness or silly metaphors. It recognizes that a small synthetic example is absolutely fine, and dressing it up to look as a comic book can just distract one from the actual code.

After an introductory chapter that races through Go with some interesting examples to whet the reader's appetite, the language is methodically unraveled. The authors make sure not only to present language features, but provide justifications and common conventions. Some sections go more in-depth than others, and can serve as useful references later on, after the first reading.

Go is an opinionated language, and GOPL is an opinionated book. Both have the right to be, IMHO, due to the innate authority of their authors as veterans in the field who distill their collective experience into the language and the book.

Overall, I enjoyed GOPL a lot. If you're looking to get a thorough and serious introduction to the Go programming language, I think it's an excellent choice.