
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-20% $39.99$39.99
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Very Good
$12.60$12.60
FREE delivery March 3 - 6
Ships from: Bahamut Media Sold by: Bahamut Media

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.
Follow the authors
OK
Go Programming Language, The (Addison-Wesley Professional Computing Series) 1st Edition
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.
- ISBN-109780134190440
- ISBN-13978-0134190440
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateOctober 26, 2015
- LanguageEnglish
- Dimensions9.1 x 7.3 x 1 inches
- Print length400 pages
Frequently bought together

More items to explore
From the Publisher
Why You Should Learn Go with this Authoritative Guide
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.
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
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
- Best Sellers Rank: #103,839 in Books (See Top 100 in Books)
- #38 in Computer Programming Languages
- #172 in Programming Languages (Books)
- Customer Reviews:
About the authors
Discover more of the author’s books, see similar authors, read book recommendations and more.
Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the book provides a clear introduction to the Go language. They appreciate the examples and design examples that illustrate the philosophy behind the language. The exercises are described as brief and accurate. Many readers consider the book well worth the price, especially for covering topics like concurrency. However, opinions differ on the functionality, with some finding it perfect and well-designed, while others report errors and non-working code.
AI-generated from the text of customer reviews
Customers find the book provides a clear introduction to the fundamentals of Go. They say it's concise and thorough, with thorough coverage of the language. While some readers mention it's best for someone with some programming experience, they also say it's well-written and straight to the point.
"...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
"...All the code is easily downloadable using standard Go tools, so it is easy to try things out as you learn...." 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
"...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
Customers find the book's examples helpful. They appreciate the concise, realistic examples that illustrate design philosophy. The book provides a mix of practical and cookbook-style examples with introductory explanations. Readers appreciate the rationale for design decisions provided in this book. Overall, it is considered a great example book of its genre.
"...It uses realistic, and complete, examples to illustrate the design philosophy behind the language...." Read more
"...to work well together which facilitate a program model that is quite powerful, but simple to learn, reason, write, and support...." 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
"...The examples are excellent and the explanations and instructions clear...." Read more
Customers appreciate the book's design. They find the examples and presentation well-thought-out. The book covers topics like data encapsulation, object composition, interface, package, and CSP model.
"...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
Customers find the book has good examples and exercises. They say the introductory chapter is brief but accurate.
"...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
Customers find the book provides good value for money. They say it covers the topic well and provides practical insights beyond covering the topics. The chapter on concurrency is worth the cost of the book alone, they say.
"...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
Customers have different views on the book's functionality. Some find it works well, with features that work together to create a simple program model. Others report errors and non-working code, suggesting it may not be suitable for beginners. There are also complaints about missing functions and instructions stopping at 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
There was a problem filtering reviews right now. Please try again later.
- Reviewed in the United States on November 25, 2024This 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.
- Reviewed in the United States on July 18, 2020If 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.
- Reviewed in the United States on August 19, 2020I 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.
Top reviews from other countries
-
Marco Antonio Islas CruzReviewed in Mexico on January 18, 2024
5.0 out of 5 stars Breve, justo lo que necesitas saber del lenguaje
Es un libro relativamente pequeño, no te va a enseñar a hacer proyectos en Go pero no es su objetivo, te va a enseñar el lenguaje de programación y las herramientas que tiene, solo eso; y eso es lo que lo hace tan bueno.
- ValentinReviewed in South Africa on December 7, 2024
2.0 out of 5 stars Neither for amateurs nor professionals... okay, maybe for amateurs.
It requires a lots of patience from the reader. Maybe a better title for this book would be "Go Language by Examples" (and if this was the case, I doubt that I would have purchased it).
In summary, It seems to me that this books aims to indoctrinate more than educate.
- SergeReviewed in the Netherlands on June 5, 2022
5.0 out of 5 stars Might be a bit outdated for 2022
Great intro to the language and thinking, but a bit outdated for 2022
- Amazon CustomerReviewed in India on July 2, 2021
5.0 out of 5 stars Great book on Go, but read it slowly
Fantastic book. But before you read it, it would be better if you have read some other book such as 'Introducing Go: Build Reliable, Scalable Programs' by Caleb Doxsey which gives you some quick an easy understanding of how things work in Go.
This book on the other hand is a deep coverage. Every sentence is weighed, and has a relevance. Read slowly, let every sentence sink in with its full meaning. As an outcome, you would be a good go programmer if everything in it sinks in you just as it is in there!
- TomReviewed in the United Kingdom on March 8, 2021
5.0 out of 5 stars Very well written with lots of interesting examples
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.