Amazon Resale
Buy new:
USD43.05
USD 15.41 delivery Thursday, 15 January
Dispatches from: Amazon
Sold by: Amazon
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer – no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Go Programming LanguagePearson Education
  • VIDEO

Follow the authors

Follow to get new release updates, special offers (including promotional offers), and improved recommendations.
Something went wrong. Please try your request again later.

Go Programming Language, The (Addison-Wesley Professional Computing Series) Paperback – 26 Oct. 2015


{"desktop_buybox_group_1":[{"displayPrice":"USD 43.05","priceAmount":43.05,"currencySymbol":"USD","integerValue":"43","decimalSeparator":".","fractionalValue":"05","symbolPosition":"left","hasSpace":true,"showFractionalPartIfEmpty":true,"offerListingId":"6tEQcVPnbHMjjvRTrRSihsIG24aasy4OS838wjjPKgINFld45q28ufjrQdDD2lEpohW6nz17zyciI3JJ5JLLPmwjevo%2B4R83uVGNnDqXA0mfh3V%2FU2CrAzb8vBHcmA1F","locale":"en-GB","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"USD 28.49","priceAmount":28.49,"currencySymbol":"USD","integerValue":"28","decimalSeparator":".","fractionalValue":"49","symbolPosition":"left","hasSpace":true,"showFractionalPartIfEmpty":true,"offerListingId":"6tEQcVPnbHMjjvRTrRSihsIG24aasy4OoFRf%2B67EJoqhevVfpnkKJGMUy8fKtNcIwA0Jl%2BuC4z9ujhrSFgIUpL55soyJCcCsjmn3l%2Be1TemDx8WnJyFy0wFFU7oKNTiFf4uEyld7IKW49KVM5w4rOUrYipW7QLdhIz2OckEgPnezNjLQVhI3XA%3D%3D","locale":"en-GB","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

The authoritative resource to writing clear and idiomatic Go to solve real-world problems

Google’s Go team member Alan A. A. Donovan and Brian Kernighan, co-author of The C Programming Language, provide hundreds of interesting and practical examples of well-written Go code to help programmers learn this flexible, and fast, language. It is designed to get you started programming with Go right away and then to progress on to more advanced topics.

  • Basic components : an opening tutorial provides information and examples to get you off the ground and doing useful things as quickly as possible. This includes:
    • command-line arguments
    • gifs
    • URLs
    • web servers
  • Program structure : simple examples cover the basic structural elements of a Go program without getting sidetracked by complicated algorithms or data structures.
  • Data types: Go offers a variety of ways to organize data, with a spectrum of data types that at one end match the features of the hardware and at the other end provide what programmers need to conveniently represent complicated data structures.
  • Composite types :
    • arrays
    • slices
    • maps
    • structs
    • JSON
    • test and HTML templates
  • Functions : break a big job into smaller pieces that might well be written by different people separated by both time and space.
  • Methods :
    • declarations
    • with a pointer receiver
    • struct embedding
    • values and expressions
  • Interfaces : write functions that are more flexible and adaptable because they are not tied to the details of one particular implementation.
  • Concurrent programming : Goroutines, channels, and with shared variables.
  • Packages : use existing packages and create new ones.
  • Automated testing : write small programs that check the code.
  • Reflection features : update variables and inspect their values at run time.
  • Low-level programming : step outside the usual rules to achieve the highest possible performance, interoperate with libraries written in other languages, or implement a function that cannot be expressed in pure Go.

Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download and may be conveniently fetched, built, and installed using the go get command.

Frequently bought together

This item: Go Programming Language, The (Addison-Wesley Professional Computing Series)
USD43.05
In stock
Sent from and sold by Amazon.
+
USD51.03
In stock
Sent from and sold by Amazon.
+
USD45.69
In stock
Sent from and sold by Amazon.
Total price: $00
To see our price, add these items to your basket.
Details
Added to Basket
Choose items to buy together.

From the brand

Product description

Review

Select Guide Rating

From the Back Cover

The book will quickly get students started using Go effectively from the beginning, and by the end, they will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. They'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to their own projects.

Product details

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4.7 out of 5 stars
1,413 global ratings

Customers say

Customers find this Go programming book to be a brilliant introduction that clearly explains general programming concepts. The book is well-written and concise, with great practical examples, and one customer notes its extensive coverage. They appreciate its depth, with one mentioning it serves as a reference for advanced programmers. The readability receives mixed feedback from customers.
AI Generated from the text of customer reviews

Select to learn more

23 customers mention language learning, 21 positive, 2 negative
Customers find the book to be a brilliant introduction to the Go programming language, with clear explanations of general programming concepts, and one customer notes that it defines everything before using it.
This book is perfect for beginners, as well as people already familiar with Go....Read more
...but overall - the book has a good structure, useful examples, mathematical style of how it's written (reminds me of my uni days)....Read more
...The authors are also approachable and helpful. Highly recommended!Read more
Brilliant introduction to the language.Read more
11 customers mention writing style, 10 positive, 1 negative
Customers appreciate the writing style of the book, describing it as well-written and concise, with one customer noting its mathematical approach.
this book is very well written with samples that will not confuse you....Read more
...I would say that the book is very well written and balanced in explaining the concepts and getting you to produce real world code....Read more
...The book is good, its clear and succinct....Read more
An excellent reference. Concise and comprehensive.Read more
10 customers mention practice examples, 8 positive, 2 negative
Customers appreciate the practical examples in the book, with one mentioning that they are very useful for understanding the material.
...It explains all necessary concepts very clearly with many examples....Read more
A good book with great practical examples. Thoroughly recommend programming as you go with it.Read more
this book is very well written with samples that will not confuse you....Read more
...The language description is less succinct and makes extensive use of lengthy examples which leverage packages (notably image processing and http)...Read more
7 customers mention depth, 6 positive, 1 negative
Customers appreciate the depth of the book, with one customer noting its extensive coverage and another mentioning how it brings documentation on golang.
An excellent reference. Concise and comprehensive.Read more
...The exercises, while sometimes pretty in-depth, are varied and hugely interesting....Read more
...The sections are very detailed but not so much that you loose interest in the subject matter....Read more
Solid book, contains depth as well as the base concepts....Read more
3 customers mention programming knowledge, 3 positive, 0 negative
Customers appreciate the programming knowledge in the book, with one mentioning it serves as a reference for advanced programmers, while another notes it assumes some prior programming experience and provides interesting challenges.
...from letting you understand go better, they also give you interesting programming challenges, which could be used in other programming...Read more
...Good book. It assumes some prior programming experience (eg it doesn't bother explaining scopes, functions, if's and else's)....Read more
...is interested in learning the Go language, and to the advanced programmer as a reference book.Read more
3 customers mention readability, 2 positive, 1 negative
Customers have mixed opinions about the book's readability.
...I'm also interested in Go for my kids. The book is good, its clear and succinct....Read more
...Overall I found this book extremely unhelpful and feel frustrated reading it....Read more
Easy to read. Not too long...Read more

Top reviews from United Kingdom

  • Reviewed in the United Kingdom on 8 March 2021
    Format: PaperbackVerified Purchase
    Over the past years I've read many programming books. I must admin that this one really stands out!

    After completing the book you will have good understand of go language. However, note that this book will not cover all subject in depth so more advanced go programmers may not find this book very interesting.

    Examples are not trivial but rather interesting ones. Apart from letting you understand go better, they also give you interesting programming challenges, which could be used in other programming languages.

    I was really enjoying this book and highly recommend that book to any one who wants to start his adventure with go.
    4 people found this helpful
    Report
  • Reviewed in the United Kingdom on 10 August 2023
    Format: PaperbackVerified Purchase
    Some of the chapters may be out-dated (I'm currently in chapter 12), but overall - the book has a good structure, useful examples, mathematical style of how it's written (reminds me of my uni days). I recommend.
    One person found this helpful
    Report
  • Reviewed in the United Kingdom on 26 December 2025
    Format: PaperbackVerified Purchase
    Basic intro
  • Reviewed in the United Kingdom on 17 July 2025
    Format: PaperbackVerified Purchase
    i will agree that the content of the book is well written, there is a caveat in that this book was first released in 2015 and then reprinted in 2024 which is what this version of the book is.

    this means it was written before the landmark Golang release 1.18 in 2022 meaning that core features like Generics and fuzzing etc are completely missing, so if like me you are buying this as a physical reference book that you can 'annotate' beware.

    this may be a moot point though as some may argue (like by my colleague) that generics aren't in the realm of the beginner programmer to whom this book is maybe aimed, i still feel it would be disingenuous to promote it without pointing out these flaws

    this is obviously a gripe with the marketing of the book within Amazon itself (or maybe lazyness on my behalf for not checking the original release date) that the book itslef
    2 people found this helpful
    Report
  • Reviewed in the United Kingdom on 9 June 2019
    Format: PaperbackVerified Purchase
    If you are coming from another language and need a rapid coverage of the basics, this is probably not the best book to start with. You are better off using one of the numerous online resources for that. I personally found the free 'The Little Go Book' as a perfect fast-paced first scan of the language .

    This book is best as your second (or your first, if you are not in a great deal of a hurry), and more thorough coverage of the language, and as a ready reference while you tackle projects.

    If I had any complaints, it would be a wish that they used bigger print in the paperback ... and that an eBook version is made available and discounted for owners of the paperback.

    Highly recommended.
    12 people found this helpful
    Report
  • Reviewed in the United Kingdom on 31 December 2019
    Format: PaperbackVerified Purchase
    This is a fantastic book to start learning Go. It explains all necessary concepts very clearly with many examples.
    The examples used throughout the book are not very different from other Go books, but the authors incrementally build on these examples to introduce or showcase new concepts.
    As a minor downside of the book, (personal opinion) I would prefer the authors to provide much more clear and understandable explanations of some examples, however they have done a great job to provide avery reasonable flow.
  • Reviewed in the United Kingdom on 10 December 2018
    Format: PaperbackVerified Purchase
    Over the years I've read many programming books and this one I have to say is a standout book! The exercises, while sometimes pretty in-depth, are varied and hugely interesting. The content of the book is relevant, elegantly put forward, and full of detail. I'm enjoying this book so much I'm going through it page by page and doing all of the exercises.

    Maybe some will want a cheat-sheet type of book containing less detail but this book will actually help you grok Go. The authors are also approachable and helpful. Highly recommended!
    6 people found this helpful
    Report
  • Reviewed in the United Kingdom on 19 February 2018
    Format: Kindle EditionVerified Purchase
    I have found that this is the best book that I have (and I have a few) on the subject of the Go programming language. The sections are very detailed but not so much that you loose interest in the subject matter. I would say that the book is very well written and balanced in explaining the concepts and getting you to produce real world code.

    Excellent book would recommend to anyone looking at learning Go.
    4 people found this helpful
    Report

Top reviews from other countries

  • John
    5.0 out of 5 stars Clear exposition of the Language
    Reviewed in Australia on 24 March 2024
    Format: PaperbackVerified Purchase
    A very clearly written book with good examples explaining the language, emphasizing the simplicity and utility of the language. Only thing would have liked is a second edition with Generics added !
  • Alexandre Estanislau
    5.0 out of 5 stars Excelente
    Reviewed in Brazil on 13 September 2020
    Format: Kindle EditionVerified Purchase
    Excelente livro, traz explicacões claras sobre a linguagem. Não conhecia Go e tive de aprender para uso profissional, ajudou muito na curva de aprendizado.
  • Andrew
    5.0 out of 5 stars Excellent Book From Masters
    Reviewed in Canada on 18 December 2015
    Format: PaperbackVerified Purchase
    I've read some books about Go programming but this is the best Go programming book. It explains the concepts clearly, for the complex concepts come with lots of pictures to explain the ideas.

    The book is just 380 pages but it covers all major topics of Go programming language and lots of minor topics and some corner cases of the language. For example, I was wondering how to use the (&^) bit clear operator in Go and found nothing in other books but only in this book(p53).

    There are lots of insights about how to use Go. Map keys must be comparable, so slice can't a legal key. There is a strategy on how to use slice as map key on page 97. A data race occurs whenever two goroutines access the same variable concurrently and at least one of the accesses is write. Three ways to avoid a data race are given on page 260. How to use nil channel to enable or disable some features on page 246. And lots of other topics spread all the books.

    There are also lots of pitfalls and how to avoid them. Capturing iteration variables - it just capture the variable storage location, not its value in the loop of the function - on page 140. An interface containing a nil pointer is non-nil on page 184. And many others.

    Lots of carefully chosen examples make me understand the concepts easily. You can download the code examples from http://www.gopl.io/ and run them in your own computer.

    In short, excellent book from masters.

    Just a reminder, this is not a book for the very beginners. You should have some basic Go programming knowledge.(After Go Tour, Effective Go or this free ebook from http://www.golang-book.com/)
  • Mat
    5.0 out of 5 stars Référence pour le Go
    Reviewed in France on 10 October 2025
    Format: PaperbackVerified Purchase
    J'adore ce livre de Go, il est très bien, je l'ai feuilleté pas en entier, mais il est très bien, il y a beaucoup d'exemples, le livre est joli et assez conséquent, c'est un bon achat si vous voulez apprendre le Go, c'est un peu la référence.
  • Dean D.
    5.0 out of 5 stars A Fantastic Read
    Reviewed in the United States on 9 March 2019
    Format: PaperbackVerified Purchase
    This book is not only one of the best books I've read on Go, but also one of the best programming books I've read in general. It is easy to understand and well edited. I thought the first chapter was really entertaining, explaining the origins of go (Plan 9, etc.), and the pacing from there is really great for my tastes. It's not overly verbose (there are a few sentences that are short but pack a punch that I re-read a few times just to make sure I understood them) and it's not trying to teach you how to program.

    I am a gopher by way of .NET Core (among others), and this helped me immensely. It explains *why* golang is the way it is as well as nearly all aspects of the language. I have been programming professionally for > 15 years but I became a golang dev in a "trial by fire" manner. I took over a full-stack Angular/go project that was written by a brand new developer, so there were a ton of terrible practices / bugs and it was already in production (as it turns out, in the real world things are sometimes less than ideal!). I read the docs, did the "Tour of Go" (which is really nice, by the way) and "Go by Example" (also recommend), and hit the ground running. Go is a simple language to learn, so I was able to squash bugs and ship new features immediately; but this book really helped flesh out the gaps in my knowledge.

    If you have some experience programming but are new to Go (or want to dig deeper), this is the one to get. If you are new to programming, I would approach this with some trepidation. I don't think it's completely out of the question for a brand new programmer, but you might have to do some googling along the way to help you with concepts that maybe aren't explained in detail in this book because it's assumed they are already known.