Following the recipe of the K&R book for the C language, The Go Programming Language book is the perfect companion to master the Go language. It will help you start using Go effectively right away and to use it well, taking full advantage of Go’s language features and standard libraries to write clear, idiomatic, and efficient programs.
Chapter 1 is a tutorial/overview on the basic constructs of Go, introduced through a dozen programs for everyday tasks like reading and writing files, or formatting text. Chapters 2 through 5 present the core things that are part of any mainstream imperative language. The Authors don’t spell out everything as if for a total beginner and assume that you have programmed in one or more other widespread languages. Novice users of the language should start with the online Go Tour first. The remaining chapters (half the book) focuses on topics where Go’s approach is less conventional: methods, interfaces, concurrency, packages, testing, and reflection.
The book was thoroughly reviewed by core Go team members and covers the version 1.5 of Go. The book is not a replacement for the official blog. The Go Blog publishes regularly articles on the evolution of the language, plans for the future, reports on conferences, and in-depth explanations of a wide variety of topics discussed in this book.
If like me, after doing your first step with the language, you are looking after a book to help you write better and more idiomatic Go code, The Go Programming Language book is definitely this book. One of the few programming language books I had read cover to cover without getting bored.