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,073 ratings  ·  79 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,073 ratings  ·  79 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.
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
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.
Shuky Chen
Oct 23, 2018 rated it it was amazing  ·  review of another edition
Very clear and informative

This book is great for beginners of Go, however not for beginners of programming. I really enjoyed it, and managed to learn how to write Go code very quickly
Mike Fowler
Jun 15, 2019 rated it really liked it
Provides a great overview of the language with lots of worked through examples and exercises. Definitely worth a read even after working with Go for a while as it shows many of the language idioms so that you write decent Go instead of C-like Go.
« previous 1 3 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The C Programming Language
  • Designing Data-Intensive Applications
  • Building Microservices: Designing Fine-Grained Systems
  • Site Reliability Engineering: How Google Runs Production Systems
  • The Pragmatic Programmer: From Journeyman to Master
  • Clean Architecture
  • Go in Action
  • Kubernetes in Action
  • The Rust Programming Language
  • Concurrency in Go: Tools and Techniques for Developers
  • Head First Design Patterns
  • Refactoring: Improving the Design of Existing Code
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Effective Java
  • Introduction to Algorithms
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Test Driven Development: By Example
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

There's something great about a paperback book: They're perfect book club choices, you can throw them in your bag and go, and they've been out in...
26 likes · 3 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…