Sponsored
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows.
$43.64 with 34 percent savings
List Price: $65.99 Image
FREE delivery Wednesday, April 29
Or Prime members get FREE delivery Tomorrow, April 25. Order within 9 hrs 40 mins. Join Prime
Only 14 left in stock (more on the way).
$$43.64 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$43.64
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Shipper / Seller
Amazon.com
Amazon.com
Shipper / Seller
Amazon.com
Returns
FREE 30-day refund/replacement
FREE 30-day refund/replacement
Quick refund
Usually issued within 24 hours. See exceptions
FREE return
At least one free return option available.
Convenient dropoff
At any of our 50,000 US locations.
See return policy
Gift options
Available at checkout
Available at checkout This item is a gift. Change
At checkout, you can add a custom message, a gift receipt for easy returns and have the item gift-wrapped
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
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
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

  • Learning Go: An Idiomatic Approach to Real-World Go Programming

Follow the author

Get new release updates & improved recommendations
Something went wrong. Please try your request again later.

Learning Go: An Idiomatic Approach to Real-World Go Programming 2nd Edition

4.7 out of 5 stars (176)

{"desktop_buybox_group_1":[{"displayPrice":"$43.64","priceAmount":43.64,"currencySymbol":"$","integerValue":"43","decimalSeparator":".","fractionalValue":"64","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"dYTAoNS8sA9o%2BOjwDafIlLpgx4PdaGXC3TVDjY0EwaRGe4DQgohaGxFoh3Xi63gqiAQ9jgXL%2B7ibfSLgTRXWgXxVuZ96unGVBK8%2FRp92VuYzcoJudj6G4%2FIDNNPQj4%2FabhmXwgbmXp%2BNRJm0EemTSQ%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

Go has rapidly become the preferred language for building web services. Plenty of tutorials are available to teach Go's syntax to developers with experience in other programming languages, but tutorials aren't enough. They don't teach Go's idioms, so developers end up recreating patterns that don't make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go.

No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner introduces the design patterns experienced Go developers have adopted and explores the rationale for using them. This updated edition also shows you how Go's generics support fits into the language.

This book helps you:

  • Write idiomatic code in Go and design a Go project
  • Understand the reasons behind Go's design decisions
  • Set up a Go development environment for a solo developer or team
  • Learn how and when to use reflection, unsafe, and cgo
  • Discover how Go's features allow the language to run efficiently
  • Know which Go features you should use sparingly or not at all
  • Use Go's tools to improve performance, optimize memory usage, and reduce garbage collection
  • Learn how to use Go's advanced development tools

Frequently bought together

This item: Learning Go: An Idiomatic Approach to Real-World Go Programming
$43.64
Get it as soon as Wednesday, Apr 29
Only 14 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$30.51
Get it as soon as Wednesday, Apr 29
Only 10 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$32.31
Get it as soon as Thursday, Apr 30
Only 6 left in stock - order soon.
Sold by Rockwood_Books and ships from Amazon Fulfillment.
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.

Customers also bought or read

Loading...

From the brand


From the Publisher

Learning Go: An Idiomatic Approach to Real-world Go Programming

From the Preface

Who Should Read This Book

This book is targeted at developers who are looking to pick up a second (or fifth) language. The focus is on people who are new to Go. This ranges from those who don’t know anything about Go other than it has a cute mascot, to those who have already worked through a Go tutorial or even written some Go code. The focus for Learning Go isn’t just how to write programs in Go; it’s how to write Go idiomatically. More experienced Go developers can find advice on how to best use the newer features of the language. The most important thing is that the reader wants to learn how to write Go code that looks like Go.

Experience is assumed with the tools of the developer trade, such as version control (preferably Git) and IDEs. Readers should be familiar with basic computer science concepts like concurrency and abstraction, as the book explains how they work in Go. Some of the code examples are downloadable from GitHub, and dozens more can be tried out online on The Go Playground. While an internet connection isn’t required, it is helpful when reviewing executable examples. Since Go is often used to build and call HTTP servers, some examples assume familiarity with basic HTTP concepts.

While most of Go’s features are found in other languages, Go makes different tradeoffs, so programs written in it have a different structure. Learning Go starts by looking at how to set up a Go development environment, and then covers variables, types, control structures, and functions. If you are tempted to skip over this material, resist the urge and take a look. It is often the details that make your Go code idiomatic. Some of what seems obvious at first glance might actually be subtly surprising when you think about it in depth.

Editorial Reviews

About the Author

Jon Bodner has been a software engineer, lead developer and architect for over 20 years. In that time, he has worked on software across many fields, including education, finance, commerce, healthcare, law, government, and internet infrastructure.

Currently, he is a Staff Engineer at Datadog, leading the effort to simplify onboarding for their APM product. Previously, Jon was a Senior Distinguished Engineer at Capital One, working on tech commercialization, open source, testing, the semantic engine that provides payment page detection and population for Capital One's Eno browser extension (www.capitalone.com/applications/eno/virtualnumbers), and improving support for virtual credit card numbers inside of Capital One.

Jon is a frequent speaker at Go conferences, and his blog posts on Go and software engineering have been read by more than 150,000 people. He is the creator of the Proteus data access library (github.com/jonbodner/proteus) and co-developer of checks-out, a fork of the LGTM project (github.com/capitalone/checks-out).

Product details

  • Publisher ‏ : ‎ O'Reilly Media
  • Publication date ‏ : ‎ February 20, 2024
  • Edition ‏ : ‎ 2nd
  • Language ‏ : ‎ English
  • Print length ‏ : ‎ 491 pages
  • ISBN-10 ‏ : ‎ 1098139291
  • ISBN-13 ‏ : ‎ 978-1098139292
  • Item Weight ‏ : ‎ 1.8 pounds
  • Dimensions ‏ : ‎ 7 x 1 x 9 inches
  • Best Sellers Rank: #95,709 in Books (See Top 100 in Books)
  • Customer Reviews:
    4.7 out of 5 stars (176)

About the author

Follow authors to get new release updates, plus improved recommendations.
Jon Bodner
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Sponsored

Customer reviews

4.7 out of 5 stars
176 global ratings
Sponsored

Customers say

Customers find this Go programming book excellent, with one mentioning it includes examples throughout chapters. The content is detailed, with one customer noting it provides a nice job of discussing all the features of Go.
AI Generated from the text of customer reviews

Select to learn more

8 customers mention content, 8 positive, 0 negative
Customers find this Go programming book excellent, with one customer noting it includes examples throughout the chapters and another mentioning it provides use-cases for certain topics.
...but, until then, if you need to learn Go then I think this is an excellent book that will help you produce the best code possible.Read more
The first edition of this book was already the best of its kind (learning Go)....Read more
...right level of detail I was looking for, and it even points to several blog posts and books, which worked as great starting points for learning even...Read more
...presented, the fact that things a referenced clearly, the examples throughout chapters and so far, the overall structure....Read more
7 customers mention detailed, 7 positive, 0 negative
Customers appreciate the book's detailed approach, with one customer noting its comprehensive coverage of Go features, while others mention it provides the right amount of information.
...The book goes into exactly the right level of detail I was looking for, and it even points to several blog posts and books, which worked as great...Read more
...I love how the chapters are presented, the fact that things a referenced clearly, the examples throughout chapters and so far, the overall structure....Read more
Bodner does a great job breaking down Go’s core features and its idiomatic practices, making it accessible for both beginners and experienced...Read more
...Coverage of the concepts is thorough without being difficult to get through, an underrated thing in technical books....Read more
O'Reilly never lets me down!
5 out of 5 stars
O'Reilly never lets me down!
This is the best overview of Golang out there. If you want to learn the ins and outs of Go, and how to make sure your code is IDIOMATIC and understandable to other go devs, this is the book for you. The author walks you through various Go features and syntax, comparing it with similar features in other languages and noting the differences. He even explains how certain features work before telling you to never use them in your own code haha. It's really valuable to not only learn all the capabilities of the latest version of Go, but to also get direction by an experienced user on what should be preferred and what should be avoided. That's where this book shines. The latest edition adds exercises at the end of each chapter too, and that's so helpful for getting some of this stuff into your brain. Highly recommend this for any programmer who wants to dip their toes in the world of Gophers, and enjoys learning things in depth from a textbook.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • Reviewed in the United States on March 8, 2026
    Format: PaperbackVerified Purchase
    Excellent book that really goes down to the metal of the language. No complaints.
    One person found this helpful
    Report
  • Reviewed in the United States on August 8, 2025
    Format: PaperbackVerified Purchase
    I've been using this book to learn Go programming as a complete beginner for over a month. I love how the chapters are presented, the fact that things a referenced clearly, the examples throughout chapters and so far, the overall structure. I like the fact that there are practice exercises at the end of the chapters, but I feel like there could be more per chapter.

    One of the biggest things is the fact that there are times where Jon includes use-cases some certain topics. I've attended too many trainings and read too many topics in IT where they just teach you everything under the sun but when you start working in it, you realize that a lot of isn't necessary from an application perspective, and it would've been good to learn it still but understand its practicality. This book has it where it's necessary.

    Highly recommend it for anyone now getting into Go or for anyone already familiar with Go, to use as a reference.
    2 people found this helpful
    Report
  • Reviewed in the United States on May 31, 2024
    Format: PaperbackVerified Purchase
    This is the best overview of Golang out there. If you want to learn the ins and outs of Go, and how to make sure your code is IDIOMATIC and understandable to other go devs, this is the book for you.

    The author walks you through various Go features and syntax, comparing it with similar features in other languages and noting the differences. He even explains how certain features work before telling you to never use them in your own code haha. It's really valuable to not only learn all the capabilities of the latest version of Go, but to also get direction by an experienced user on what should be preferred and what should be avoided. That's where this book shines.

    The latest edition adds exercises at the end of each chapter too, and that's so helpful for getting some of this stuff into your brain.

    Highly recommend this for any programmer who wants to dip their toes in the world of Gophers, and enjoys learning things in depth from a textbook.
    Customer image
    5.0 out of 5 stars
    O'Reilly never lets me down!

    Reviewed in the United States on May 31, 2024
    This is the best overview of Golang out there. If you want to learn the ins and outs of Go, and how to make sure your code is IDIOMATIC and understandable to other go devs, this is the book for you.

    The author walks you through various Go features and syntax, comparing it with similar features in other languages and noting the differences. He even explains how certain features work before telling you to never use them in your own code haha. It's really valuable to not only learn all the capabilities of the latest version of Go, but to also get direction by an experienced user on what should be preferred and what should be avoided. That's where this book shines.

    The latest edition adds exercises at the end of each chapter too, and that's so helpful for getting some of this stuff into your brain.

    Highly recommend this for any programmer who wants to dip their toes in the world of Gophers, and enjoys learning things in depth from a textbook.
    Images in this review
    Customer image Customer image Customer image
    5 people found this helpful
    Report
  • Reviewed in the United States on March 24, 2026
    Format: KindleVerified Purchase
    It’s hard to put my finger on why this book was great.
    Maybe it was Bodner’s unexpected sense of humor in the middle of a technical discussion.
    Maybe it was the realization that by the end I could write simple algorithms in a new language.
    Maybe it was that I read the whole thing, did most of the exercises, and yet I couldn’t fathom all the things he taught me.
    Maybe it’s the satisfaction that even if AI would write most of what he said, I would at least understand it now.
    Maybe it was all of the above.
    2 people found this helpful
    Report
  • Reviewed in the United States on March 26, 2025
    Format: PaperbackVerified Purchase
    Bodner does a great job breaking down Go’s core features and its idiomatic practices, making it accessible for both beginners and experienced developers alike.

    One area where the book could be improved is in covering database operations. While the book does an excellent job with many other practical aspects of Go development, a chapter dedicated to working with databases would have been a nice addition
    2 people found this helpful
    Report
  • Reviewed in the United States on April 18, 2024
    Format: PaperbackVerified Purchase
    The author does a very nice job of discussing all the features of Go, the good and the bad. I read about a third of this book before storing it away on my bookshelf. This is not a reflection on the book's content but simply that there are too many "watch out for this", "don't do this", "this is a common error", and "the compiler won't check for this" aspects of Go that convinced me to avoid this language. There may someday be a Go: The Good Parts book but, until then, if you need to learn Go then I think this is an excellent book that will help you produce the best code possible.
    5 people found this helpful
    Report
  • Reviewed in the United States on October 4, 2024
    Format: PaperbackVerified Purchase
    Having written Go full-time for over a year, I picked up the book to get some tips and pointers. The book goes into exactly the right level of detail I was looking for, and it even points to several blog posts and books, which worked as great starting points for learning even more.
    2 people found this helpful
    Report
  • Reviewed in the United States on January 25, 2024
    Format: KindleVerified Purchase
    I enjoyed the first edition, and this second edition is an improvement on an already great book on Go. Coverage of the concepts is thorough without being difficult to get through, an underrated thing in technical books. I also enjoyed the addition of exercises in the 2nd version.
    9 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Davino Junior
    5.0 out of 5 stars Awesome book, highly recommended
    Reviewed in Brazil on November 3, 2025
    Format: KindleVerified Purchase
    Awesome book, highly recommended. It goes through all core parts of the language and provide concrete examples on idiomatic Go!
  • Victor Ricart
    5.0 out of 5 stars Great intro
    Reviewed in Sweden on March 26, 2024
    Format: PaperbackVerified Purchase
    Great book, particularly liked that it shares information about the memory layout, garbage collection and why the code suggested is indeed idiomatic to Go. I got the book as I am picking up the language for a new project at work.
  • Tùng Nè
    5.0 out of 5 stars Informative and insightful
    Reviewed in Australia on April 12, 2025
    Format: PaperbackVerified Purchase
    Highly recommended for someone know how to program and want to pick up Go. Not a deal breaker, but I wish it is typo-free.
  • fibinaci
    1.0 out of 5 stars Deze beoordeling gaat alleen over de "Print kwaliteit" boek is ontzettend slecht.
    Reviewed in the Netherlands on May 31, 2024
    Format: PaperbackVerified Purchase
    Deze beoordeling gaat alleen over de "Print kwaliteit" van het boek dit is ontzettend slecht.
    Was de inkt op?
    Zeker voor deze prijs inhoud moet ik nog lezen om daar een oordeel over tegeven.
    Report
  • Marxone
    5.0 out of 5 stars Nice book
    Reviewed in Germany on January 27, 2026
    Format: PaperbackVerified Purchase
    The print ink is nice so is the cover.