Goodreads helps you keep track of books you want to read.
Start by marking “The Go Programming Language” as Want to Read:
The Go Programming Language
Enlarge cover
Rate this book
Clear rating
Open Preview

The Go Programming Language

4.46  ·  Rating details ·  1,099 ratings  ·  80 reviews
Go is an open-source programming language that makes it easy to build clean, reliable, and efficient software. It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast ...more
Paperback, 380 pages
Published August 27th 2015 by Addison-Wesley
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about The Go Programming Language, please sign up.

Be the first to ask a question about The Go Programming Language

Community Reviews

Showing 1-30
Average rating 4.46  · 
Rating details
 ·  1,099 ratings  ·  80 reviews

More filters
Sort order
Start your review of The Go Programming Language
Dec 12, 2015 rated it it was amazing
Shelves: technology
Every programming language has one book that become the de-facto book. C has K&R and other programming languages has their own. This book is for Go what is K&R for C. If you ever want to buy a Go programming language book, this book should be the one. I have been programming in Go from almost an year and I also find some new tricks from the book. Also I use this book as a reference when I need to brush up some concept. ...more
Tadas Talaikis
Apr 17, 2017 rated it it was ok
You're kidding, second mention on the for cycle:

for initialization; condition; post {

I can try to understand that abstraction, hut isn't this book for Go starters? It's like trying to read anything from Google (with their xomplexities they anyway lose the whole picture due to lost brain RAM, like with Tensor Flow they had marketed failure on finnancial markets) or Iris (Go web farmework) "examples". shouldn't examples supposed to work?

Or few pages later:

counts := make(map[string]int)
input := buf
Mohamed Elsherif
Great book, a must read for anyone seriously looking into picking up Go for a future project, the language seems simple but the nuances of it are very important and the book dives into it and provide a great guidance and gotchas here and there that are just priceless.
Jelmer De reus
Dec 07, 2015 rated it it was amazing  ·  review of another edition
This review has been hidden because it contains spoilers. To view it, click here.
Jan 03, 2020 rated it liked it
Shelves: programming-go
I am amazed by the fact that most people, simply by checking the authors name, go for the five stars, indipendently of the goodness of the content. Being a great engineer does not mean being great at teaching and/or explaining.

Just like the good old K&R C book, the book covers the basics of the language, but in a very formal, strict way, which makes it hard for a beginner to get the most out of it. The examples are good and evolved through the text.

A good book. Not a great book. Definitely NOT
May 26, 2018 rated it it was amazing
If you've read Kernighan and Ritchie "The C Programming Language", this is the Golang K&R alternative. A must-read for this young new language. ...more
Dec 30, 2016 rated it really liked it  ·  review of another edition
Shelves: computer-science
One of the authors is Kernighan (yes, that one), so it's as easy to read and as useful as your well-thumbed C book. It was longer, though, with more to cover. Still, I was able to write a substantial Go library after reading it. I'm going to get a paper copy to keep next to the C bible.
Ilya Isaev
Jan 27, 2019 rated it it was amazing  ·  review of another edition
The book about Golang

This book is like a bible for Golang. It covers all topics for the language from A to Z. One of the interesting things is exercise section which helps to test your knowledge and skills! I would have it on the shelf.
Oct 10, 2020 rated it it was amazing  ·  review of another edition
Amazing introduction to a programming language. One needs to know how to code in other languages, and in that case, the first chapter just gives you a taste of what it's like to code in Go. The following chapters explain more about various language specifics. And you are ready to go (ha!).
The book is also a good reference, I've been using it a lot for advice on testing and concurrency.
The only reason that I did not finish it earlier was that I was left with the last chapters on reflection and
Kasun Vithanage
Aug 30, 2018 rated it it was amazing  ·  review of another edition
awesome book that clearly explains key concepts of golang
Hercules Merscher
Apr 01, 2020 rated it it was amazing
Shelves: programming
Even though Go is not one of my favorite languages, this book is really well written and contains tons of examples and exercises. Every programming book should be like it, with plenty of material for you to get your hands dirty practcing.
If you need or want to learn Go, I can't recommend this book enough! It is also a good reference book to remember some details.
Jul 30, 2016 rated it it was amazing
Dozens of programming books, years of reading them, most of them helpful but of mediocre quality. This is a great example of what a high quality programming book is like. Unlike a lot of books--some of which are written by undergrads!--this book is written by very experienced programmers. Kernighan? He was involved with creating UNIX and C. Every page of this book, you can tell a lot of work went into refining it. A lot of it is example-driven, which I love. The examples were impressive. They ma ...more
Sebastian Gebski
Truly old school programming book (in terms of composition) - leads you through all the necessary topics in a natural order. Pace is very good, space granted for each topic is very carefully tuned - you're flying through easy stuff instantly, but if something needs more consideration, it's given substantially more elaboration & samples. What I like a lot was tuning the teaching style to language specifics - there's a lot of attention put into describing idioms, conventions & ecosystems -> these ...more
Jan 08, 2016 rated it it was amazing
Quintessential text for learning the Go Programming Language. After working through some of the examples you will discover the simple elegance of the programming language--stripped down but expressive.

The chapter on testing, benchmarking, and profiling needs some work. However, I think these will require another book in itself.

There is little or no mention of symbolic debugging. Some may argues that with the proper array of functional tests, you don't really need a debugger. However, I am in th
5/5 stars

An absolute must for anyone starting with the Go language. I have done the go tutorial and went through the effective go website but this book made the trick: I was able to feel more and more comfortable with the language and accomplished as I read on. There are a few things left out of the pot that I learned whilst perusing other people's code, but even so the book provides a good narrative that eases the consumption of the knowledge and idioms required to speak the language properly.
This book is remarkably unwieldy and incoherent. I cannot recommend it for anyone wishing to review the Go programming language. Far better, I believe, to simply search online Go tutorials for a reminder of the syntax.

Update: I want to clarify that I think it's possible this is useful if one is simply seeking an in-depth look at Go and has plenty of time to read the book from beginning to end in a scrutinizing fashion. However, for my purpose, this book simply wasn't suitable.
Jeremy Huiskamp
Mar 03, 2018 rated it liked it
This is fairly straightforward coverage of the language. For someone who is already familiar with the language, it's mostly boring, though worth reading because there are always gaps to be filled in and a fairly quick read.

I can't fault anything specific about the book, I just wish more programming language books were opinionated like Javascript: the Good Parts.
May 04, 2018 rated it it was amazing
This book is great!, I recommend it as a intermediate one. Even I decide to not continue reading before reflection an unsafe, I think I will return to it in 1 or 2 years later to learn that after.

The examples are practical and a more than just hello worlds.
L Dean
Dec 01, 2015 rated it really liked it
Close in quality to K&R, may revise to 5 stars after a re-read. If you work with Go, read this book. ...more
Oct 13, 2017 rated it really liked it
Presumably the authoritative reference book on/introduction to Go for experienced programmers. Despite the plethora of online resources I like books because the good ones guide you through all the elements, point out subtleties and gotchas, and really let you explore rather than the utilitarian reference "I need to know this now."

This is a good book.

As a veteran C/C++ programmer and one familiar with (albeit not fluent) in Python I found the covered topics familiar and yet new, as Go has its ow
Feb 02, 2020 rated it it was amazing
Go has excellent documentation & other resources available at, but for those looking for a printed book, this is the only one I recommend. It has most accurate description of some of features of language, that not available in other books. This is good for deepening your understanding of Go (I read many Go books, check my profile for review of them)

This book is not for novice programmer, if you are a novice programmer, I strongly recommend you first check this topics in
Murray Cumming
Jul 03, 2017 rated it it was amazing
Shelves: tech
This is perfectly written and structured. The examples are particularly well chosen. Unlike most such books, it can, and should be read, cover to cover.

In the end, I have not become a huge fan of the Go programming language itself, though the book has shown me much there to respect and be inspired by, and I'd definitely choose it for some projects. I've written up some notes about the experience from my point of view as a C++ developer:
Matt Rozak
May 18, 2020 rated it really liked it
Great, fairly comprehensive into to golang. Covers syntax and philosophy of writing in the style of golang. Not for beginners, lots of concurrent code (although to be fair, concurrency in golang is a lot safer and easier to understand than most other languages concurrency constructs.)

After reading this book you could write small, idiomatic Go programs. My only real complaint: the book introduces go's unique interface/typing system, but doesn't really leave the reader with a great idea on how to
Sep 07, 2018 rated it it was amazing
A must read book for developers who want to pick up Golang. It has ton of best practices and examples together with exercises for you to practice your Golang skill. However this book does not cover how to work on a real complex project which will require more research and practice. It’s a good book to start writing simple Golang programs. But if you are looking to write serious Golang projects, it won’t be enough.
Oleksandr Bilyk
May 28, 2019 rated it it was amazing  ·  review of another edition
Golang is good. There are two issues:
1. Nil, they could remove it but didn't.
2. No generics. Yes it is possible to do great job without jenerics. However as i have seen many popular Golang frameworks use empty interface (interface {}) as base class for everything and code looks like C# 1.0 from year 2003. It was better to give them generics.

I would like to see Golang influence to next generations of C#; implicit interface implementation it is how interfaces actually should done.
Yu Chao
Feb 29, 2020 rated it it was amazing
An in-depth tour about Golang. A great book if you are already familiar with programming in a different language and want to get into Go. For the last couple of chapters, some topics of concurrency will be discussed, so some OS knowledge is also required for reading this book.

(I was too lazy to do all the exercises, but I believe you'll become a pretty solid Go programmer if you do all the programming exercises!)
Dylan Meeus
Dec 30, 2018 rated it it was amazing  ·  review of another edition
Good introduction to Go.
It deserves 5 stars from me not just for the content, but also because it was thus far the best programming book I read on a kindle.

Each code snippet is accompanied with a link to an image, making the snippets readable on both the kindle as well as the kindle app for android. That was a great touch!
Jun 07, 2020 rated it it was amazing  ·  review of another edition
The book you need to read if you program in go. Very well written, lots of detail. Book progressively goes in depth, I would assume even relatively new programmers will get smooth learning curve. Was very nice to see last chapter cover cgo. I will publish some details I found interesting in my blog: ...more
Stefano Zanella
May 09, 2017 rated it it was amazing
Shelves: 2017
I thought I would never feel again the same kind of excitement and sense of unlimited possibilities I felt when I read "The C programming language". But then this book came and the fire started to burn again.
Shanaka Rusith
Sep 05, 2018 rated it it was amazing  ·  review of another edition
Recommends it for: Programmers, Engineers
A very good book for Programmers who wants to learn the Go programming language. reading this will give you the ability to read and understand any Go program. the book covers the essential parts of the language in great detail in an understandable manner.
« previous 1 3 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Designing Data-Intensive Applications
  • The C Programming Language
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The Rust Programming Language
  • Building Microservices: Designing Fine-Grained Systems
  • Site Reliability Engineering: How Google Runs Production Systems
  • Kubernetes in Action
  • The Pragmatic Programmer: From Journeyman to Master
  • Clean Architecture
  • Go in Action
  • A Philosophy of Software Design
  • Refactoring: Improving the Design of Existing Code
  • Concurrency in Go: Tools and Techniques for Developers
  • Head First Design Patterns
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Effective Java
  • A Tour of C++
  • Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

News & Interviews

You know the saying: There's no time like the present...unless you're looking for a distraction from the current moment. In that case, we can't...
50 likes · 22 comments
“In a realistic program, convention dictates that if any method of Point has a pointer receiver, then all methods of Point should have a pointer receiver, even ones that don’t strictly need it.” 0 likes
“Testing is fundamentally a pragmatic endeavor, a trade-off between the cost of writing tests and the cost of failures that could have been prevented by tests.” 0 likes
More quotes…