Discover new selections
Add Prime to get Fast, Free delivery
Amazon prime logo
Buy new:
$49.99
FREE delivery Friday, May 2
Ships from: Amazon.com
Sold by: Amazon.com
$49.99
FREE Returns
FREE delivery Friday, May 2
Or Prime members get FREE delivery Tomorrow, April 28.
In Stock
$$49.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$49.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$28.13
Get Fast, Free Shipping with Amazon Prime FREE Returns
Good used book! Used books may not include supplemental material such as access codes, CD’s and DVD’s. The binding is Good with used pages and cover. Cover/spine may have wear. May have notes or highlighting. Ships directly from Amazon! Good used book! Used books may not include supplemental material such as access codes, CD’s and DVD’s. The binding is Good with used pages and cover. Cover/spine may have wear. May have notes or highlighting. Ships directly from Amazon! See less
FREE delivery Friday, May 2 on orders shipped by Amazon over $35
Or Prime members get FREE delivery Tuesday, April 29.
Only 1 left in stock - order soon.
$$49.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$49.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
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

Follow the authors

Something went wrong. Please try your request again later.

Go Programming Language, The (Addison-Wesley Professional Computing Series) 1st Edition

4.7 out of 5 stars 1,434 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$49.99","priceAmount":49.99,"currencySymbol":"$","integerValue":"49","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"OOssU%2F7nU2k7pcICRhMsXdZwuv54KuZ6d2ddxzi9IoDBZKddLlDfbtGoo2Xk1P%2F7X%2B%2B%2FPGPcog2vbAjg%2BUlnsPkV2zjmI2Z6yAjwR7UUr8RncwwKKFvtZ2j7VXXq%2B%2BTQV4CK06HS8EWarxTB6X648Q%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$28.13","priceAmount":28.13,"currencySymbol":"$","integerValue":"28","decimalSeparator":".","fractionalValue":"13","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"OOssU%2F7nU2k7pcICRhMsXdZwuv54KuZ6XXI9Wb0CkeX6TrlhvGkEfYr7e%2BN9QcgbekOMyLGNYWrAM71RAY%2BFGOPoP%2F1ksT40Y403jO3uwDso3dkKLKQO1UgWAJyuCdEj9W8%2BgsBjtpF4p%2BUAMlSETEVJ7PEXQxyMQ%2Bmx41HD6cXFQIbLSzoJoA%3D%3D","locale":"en-US","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)
$44.25
Get it May 14 - 30
Only 3 left in stock - order soon.
Ships from and sold by agreenhippo1.
+
$45.95
Get it as soon as Friday, May 2
In Stock
Ships from and sold by Amazon.com.
+
$33.34
Get it as soon as Friday, May 2
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

From the Publisher

Why You Should Learn Go with this Authoritative Guide

Slinky

Flexible

Go bears a surface similarity to C and, like C, is a tool for professional programmers, achieving maximum effect with minimum means. But it is much more than an updated version of C.

Go borrows and adapts good ideas from many other languages, while avoiding features that have led to complexity and unreliable code.

Co-author Brian Kernighan was a co-creator of several programming languages and the co-author of one of the most popular programming books of all-time The C Programming Language.

Swiss Army Knife

General-purpose language

Go is especially well suited for building infrastructure like networked servers, and tools and systems for programmers, but it is truly a general-purpose language and finds use in domains as diverse as graphics, mobile applications, and machine learning.

The book features hundreds of interesting and practical examples of well-written Go code that cover the whole language, its most important packages, and a wide range of applications

Roe deer running

Efficient

Go programs typically run faster than programs written in dynamic languages and suffer far fewer crashes due to unexpected type errors.

This book is meant to 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.

Editorial Reviews

About the Author

Alan A. A. Donovan is a member of Google’s Go team in New York. He holds computer science degrees from Cambridge and MIT and has been programming in industry since 1996. Since 2005, he has worked at Google on infrastructure projects and was the co-designer of its proprietary build system, Blaze. He has built many libraries and tools for static analysis of Go programs, including oracle, godoc -analysis, eg, and gorename.

Brian W. Kernighan is a professor in the Computer Science Department at Princeton University. He was a member of technical staff in the Computing Science Research Center at Bell Labs from 1969 until 2000, where he worked on languages and tools for Unix. He is the co-author of several books, including The C Programming Language, Second Edition (Prentice Hall, 1988), and The Practice of Programming (Addison-Wesley, 1999).

Product details

  • ASIN ‏ : ‎ 0134190440
  • Publisher ‏ : ‎ Addison-Wesley Professional; 1st edition (October 26, 2015)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 400 pages
  • ISBN-10 ‏ : ‎ 9780134190440
  • ISBN-13 ‏ : ‎ 978-0134190440
  • Item Weight ‏ : ‎ 1.48 pounds
  • Dimensions ‏ : ‎ 9.1 x 7.3 x 1 inches
  • Customer Reviews:
    4.7 out of 5 stars 1,434 ratings

About the authors

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

Customer reviews

4.7 out of 5 stars
1,434 global ratings

Review this product

Share your thoughts with other customers

Customers say

Customers find this Go programming book provides a clear introduction to the fundamentals of the language and covers it without unnecessary fluff. Moreover, the book includes several different examples and exercises, and customers consider it well worth the price. Additionally, the design receives positive feedback, with one customer describing it as well thought out. However, the functionality receives mixed reviews.

AI-generated from the text of customer reviews

130 customers mention "Language content"98 positive32 negative

Customers find the book provides a clear introduction to the fundamentals of the Go programming language, with good explanations and concise content.

"...It' s probably best for someone with some programming experience as in the interests of brevity some low-level features and common programming..." Read more

"...Concepts are coherently and timely presented. Examples are usually not code fragments, but complete programs which can be compiled and run...." Read more

"...All the code is easily downloadable using standard Go tools, so it is easy to try things out as you learn...." Read more

"...more than the following sentences: The content is excellent and essential. It unquestionably has helped me, and will help me in the future...." Read more

21 customers mention "Examples"21 positive0 negative

Customers appreciate the book's examples, which are presented in a cookbook style and provide rationale for design decisions.

"...to work well together which facilitate a program model that is quite powerful, but simple to learn, reason, write, and support...." Read more

"...It uses realistic, and complete, examples to illustrate the design philosophy behind the language...." Read more

"...The examples are excellent and the explanations and instructions clear...." Read more

"...You'll definitely get more rationale for design decisions in this than any other treatment of the topic, and Go's sometimes idiosyncratic nature..." Read more

6 customers mention "Design"6 positive0 negative

Customers appreciate the design of the book, with one noting its well-thought-out approach and another highlighting its nice presentation.

"...such modern features as abstract data type, data encapsulation, object composition, interface, package, CSP model (Tony Hoare) concurrent programing..." Read more

"...The exercises at the end of each section are well thought out and an additional vehicle for learning what was taught...." Read more

"Nice presentation, good way to be learning go." Read more

"Terse and elegant. Many of the examples demonstrate efficient techniques that may not be obvious, but are not over-clever...." Read more

6 customers mention "Exercise content"6 positive0 negative

Customers appreciate the exercises in the book, with one noting they are not short.

"...Other than an overly long introductory chapter, it is brief, to the point, and accurate...." Read more

"...They are not short exercises. If I were assigning homework, the 2 or 3 exercises at each step intra-chapter would be enough for a weeks worth." Read more

"...for the language from A to Z. One of the interesting things is exercise section which helps to test your knowledge and skills!..." Read more

"...Assumes WAY to much programming knowledge. Exercise are good for someone who has been coding in various languages for some time...." Read more

5 customers mention "Value for money"5 positive0 negative

Customers find the book well worth its price, with one mentioning that the chapter on concurrency is particularly valuable.

"...technical information about design decisions, the compiler, practical trade-offs, &c to help inform the Why without ever getting bogged down in..." Read more

"...The writing is incredible and the value is greater than just covering the topic...." Read more

"...Nope, this isn't coding for dummies, this is the real deal, written by the gods of coding, for those of us in this universe...." Read more

"...The chapter on concurrency is worth the cost of the book alone. Buy it!" Read more

7 customers mention "Functionality"3 positive4 negative

Customers have mixed experiences with the book's functionality, with one customer noting that features are carefully designed to work well together, while another reports issues with instructions stopping at version 2.6.1 Imports.

"This book might not work for beginners who just start their journey in software engineering, but for professionals looking to switch to Go from C++,..." Read more

"...All features are careful designed to work well together which facilitate a program model that is quite powerful, but simple to learn, reason, write,..." Read more

"I've been coding along but the instructions stop working at 2.6.1 Imports...." Read more

"...a month before I read this book, so going into I had a working familiarity with Go, having begun using it on a few side projects...." Read more

Top reviews from the United States

  • Reviewed in the United States on November 25, 2024
    This is a very thorough introduction to Go. The author's code examples are available on Github which spares you the trouble of retyping them. It' s probably best for someone with some programming experience as in the interests of brevity some low-level features and common programming shortcuts are demonstrated but not explained. However Go is much-better documented than other languages I've used so there's ample resources on the web to help you out with the small details. As a small aside, it's actually nice to have a book that announces what you're up to if you work in co-working spaces or cafes. Sometimes another engineer will see the book cover and let you know that they're available to answer your questions. Well, this happened to me once anyway.
    One person found this helpful
    Report
  • Reviewed in the United States on August 19, 2020
    I like GO because It implements cleanly such modern features as abstract data type, data encapsulation, object composition, interface, package, CSP model (Tony Hoare) concurrent programing, multi-value-return function, deferred function calls, garbage collection, exporting names by capitalization, simple but effective exception handling and memory model. It is a static type language. Higher abstract data types such as map (hash table), string, array and slice are built in to simplify memory management. Its syntax is succinct (only 25 keywords). Yet using it correctly can lead to powerful program constructs. Little redundancies are built into the language. As such, there are not many alternate ways to do one thing which leads to codes that are easy to understand and maintain. The designers deliberately choose to implement features to support object composition instead of inheritance, to handle exception where it happens instead of the throw and catch clauses, to use simple "struct literals" to initialize abstract data type instead of constructor functions, and "type" expression to help users consistently define user types, interface (abstract) type as a standard protocols to call different concrete-objects methods (the correct way to implement polymorphism). It does not have default arithmetic type conversion, and function name overloading, which together with class inheritance (function overwrite), constructor functions, throw-and-catch exception handling are the sources of needlessly programing complexity. Importantly, both procedure (functions and data structures) and object-oriented (objects and methods) methodologies can be used. There are just enough features that help make GO a pleasant language to write. All features are careful designed to work well together which facilitate a program model that is quite powerful, but simple to learn, reason, write, and support.
    The book is well written by a GO expert programmer and a computer pioneer and noted author of programing books. Concepts are coherently and timely presented. Examples are usually not code fragments, but complete programs which can be compiled and run. Programs of complex concepts are presented in multiple versions from simpler to more elaborated ones. Like the efficient design of GO, the book is never overwritten. It is the most enjoyable programing book I have read in a long while.
    8 people found this helpful
    Report
  • Reviewed in the United States on July 18, 2020
    If you want to learn the Go programming language using a printed book, you can't really go wrong with this one. People (of a certain age!) who grew up with K&R being a gold standard for language documentation, will certainly recognize the same qualities in this text. Other than an overly long introductory chapter, it is brief, to the point, and accurate. It uses realistic, and complete, examples to illustrate the design philosophy behind the language. All the code is easily downloadable using standard Go tools, so it is easy to try things out as you learn.

    It is probably worth noting that the book is very slightly dated (mine is a 2015 first printing; I only needed to learn Go for real a full five years after I purchased it!). Go has obviously evolved since the publication of the book. Most notably it now has a real module system. Many small tweaks have also been made to the language and platform. For example, error wrapping, and allowing for the embedding of interfaces with overlapping methods. Obviously, these are not in the book, but for a working programmer I believe it still remains a complete introduction to the language. Understanding the new changes in the context of the information in the book actually gave me a much better appreciation for how the language designers (and community) think about programming in Go.
    7 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Tom
    5.0 out of 5 stars Very well written with lots of interesting examples
    Reviewed in the United Kingdom on March 8, 2021
    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.
  • John
    5.0 out of 5 stars Clear exposition of the Language
    Reviewed in Australia on March 24, 2024
    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 !
  • Andrea Berardi
    5.0 out of 5 stars Una guida interessante e ben fatta.
    Reviewed in Italy on November 8, 2019
    Una buona guida per un linguaggio interessante.
    Sinceramente GoLang non mi ha mai catturato, ho sempre preferito altri linguaggi, ma visto il credito che ha avuto penso valga la pena scoprirlo.
    Customer image
    Andrea Berardi
    5.0 out of 5 stars
    Una guida interessante e ben fatta.

    Reviewed in Italy on November 8, 2019
    Una buona guida per un linguaggio interessante.
    Sinceramente GoLang non mi ha mai catturato, ho sempre preferito altri linguaggi, ma visto il credito che ha avuto penso valga la pena scoprirlo.
    Images in this review
    Customer imageCustomer image
    Report
  • Andrew
    5.0 out of 5 stars Excellent Book From Masters
    Reviewed in Canada on December 18, 2015
    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/)
  • Julien Balestra
    5.0 out of 5 stars Parfait
    Reviewed in France on November 11, 2016
    Ce livre, en anglais, est parfait pour débuter le Go avec un rythme adapté.
    Quelques exercices sont présents pour pratiquer tout au long du livre.
    Les exemples présentés sont disponibles en ligne.

    Ce livre s'adresse toutefois à des personnes ayant déjà une base en programmation (peu importe le langage).