₹2,787.93

These promotions will be applied to this item:

Some promotions may be combined; others are not eligible to be combined with other offers. For details, please see the Terms & Conditions associated with these promotions.

Price includes GST
You have subscribed to ! We will pre-order your items within 24 hours of when they become available. When new books are released, we will charge your default payment method at the lowest price available during the pre-order period.
Update your device or payment method, cancel individual pre-orders or your subscription at
Your Memberships and Subscriptions
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, Kindle Edition

4.7 out of 5 stars 1,383 ratings

The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. It shows how to write clear and idiomatic Go to solve real-world problems. The book does not assume prior knowledge of Go nor experience with any specific language, so you’ll find it accessible whether you’re most comfortable with JavaScript, Ruby, Python, Java, or C++.

  • The first chapter is a tutorial on the basic concepts of Go, introduced through programs for file I/O and text processing, simple graphics, and web clients and servers.
  • Early chapters cover the structural elements of Go programs: syntax, control flow, data types, and the organization of a program into packages, files, and functions. The examples illustrate many packages from the standard library and show how to create new ones of your own. Later chapters explain the package mechanism in more detail, and how to build, test, and maintain projects using the go tool.
  • The chapters on methods and interfaces introduce Go’s unconventional approach to object-oriented programming, in which methods can be declared on any type and interfaces are implicitly satisfied. They explain the key principles of encapsulation, composition, and substitutability using realistic examples.
  • Two chapters on concurrency present in-depth approaches to this increasingly important topic. The first, which covers the basic mechanisms of goroutines and channels, illustrates the style known as communicating sequential processes for which Go is renowned. The second covers more traditional aspects of concurrency with shared variables. These chapters provide a solid foundation for programmers encountering concurrency for the first time.
  • The final two chapters explore lower-level features of Go. One covers the art of metaprogramming using reflection. The other shows how to use the unsafe package to step outside the type system for special situations, and how to use the cgo tool to create Go bindings for C libraries.

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. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download from http://gopl.io/ and may be conveniently fetched, built, and installed using the go get command.

Due to its large file size, this book may take longer to download
This title is only available on select devices and the latest version of the Kindle app. Please refer to the supported device list before purchase. Available on these devices

See all supported devices

Kindle E-Readers

  • Kindle Paperwhite
  • Kindle Paperwhite (5th Generation)
  • Kindle Oasis
  • Kindle Paperwhite (10th Generation)
  • All New Kindle E-reader
  • Kindle Touch
  • Kindle Voyage
  • Kindle
  • All new Kindle paperwhite
  • Kindle Oasis (9th Generation)
  • Kindle (10th Generation)
  • Kindle Oasis (10th Generation)
  • Kindle Paperwhite (12th Generation)
  • Kindle (11th Generation, 2024 Release)
  • Kindle Scribe, 1st generation (2024 release)

Free Kindle Reading Apps

  • Kindle for Android
  • Kindle for Android Tablets
  • Kindle for iPhone
  • Kindle for iPad
  • Kindle for PC
  • Kindle for Web
  • Kindle for Mac
Kindle eTextbook Store
Visit Kindle eTextbook store to find higher education books for engineering, medical, business & finance, law, journalism, humanities and many more See More

Shop this series

 See full series
There are 13 books in this series.
1 unreleased or unavailable book is excluded.
  • Kindle Price:
    ₹31,132.53inclusive of all taxes
    -
    inclusive of all taxes
    By clicking on this button the purchase will be completed.
    Sold by: Amazon Asia-Pacific Holdings Private Limited

In this series (13 books)

Product description

Review

Select Guide Rating

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 ‏ : ‎ B0184N7WWS
  • Publisher ‏ : ‎ Addison-Wesley Professional; 1st edition (16 November 2015)
  • Language ‏ : ‎ English
  • File size ‏ : ‎ 33.5 MB
  • Simultaneous device usage ‏ : ‎ Up to 5 simultaneous devices, per publisher limits
  • Screen Reader ‏ : ‎ Supported
  • Enhanced typesetting ‏ : ‎ Enabled
  • X-Ray ‏ : ‎ Not Enabled
  • Word Wise ‏ : ‎ Not Enabled
  • Print length ‏ : ‎ 400 pages
  • Best Sellers Rank: #33,083 in Kindle Store (See Top 100 in Kindle Store)
  • Customer Reviews:
    4.7 out of 5 stars 1,383 ratings

About the authors

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

Customer reviews

4.7 out of 5 stars
1,383 global ratings

Review this product

Share your thoughts with other customers

Top reviews from India

  • Reviewed in India on 2 July 2021
    Verified Purchase
    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!
    5 people found this helpful
    Report
  • Reviewed in India on 8 October 2018
    Verified Purchase
    This books is solid introduction to Go. I really liked the style where each chapter while unfolds a concept also brings in examples on various parts of language and framework. First chapter is really an eye opener in various aspects of Go. As Go is based few but strong constructs this book brings out those constructs quite eloquently. While each chapter does justify the respective subject, interfaces and coroutines bring out the striking difference of the language. You need to prepare and commit yourself for first few chapters. Then the journey in quite amazing.
    One person found this helpful
    Report
  • Reviewed in India on 15 April 2021
    Verified Purchase
    Enjoyed reading this book.

Top reviews from other countries

Translate all reviews to English
  • John
    5.0 out of 5 stars Clear exposition of the Language
    Reviewed in Australia on 24 March 2024
    Verified 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 !
  • Andrew
    5.0 out of 5 stars Excellent Book From Masters
    Reviewed in Canada on 18 December 2015
    Verified 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/)
  • Julien Balestra
    5.0 out of 5 stars Parfait
    Reviewed in France on 11 November 2016
    Verified Purchase
    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).
    Report
  • Lorenzo Beretta
    5.0 out of 5 stars Un autore una garanzia
    Reviewed in Italy on 5 November 2024
    Verified Purchase
    Principali svantaggi:
    - sono un amministratore di sistema, programmo poco ormai...
    - età: il libro è stato scritto prima che go avesse generics e `go mod`
    - facilità: go è pensato per essere facile da imparare, volendo anche senza questo libro
    - principianti: il libro assume (esplicitamente) che il lettore conosca le basi della programmazione (variabili etc)

    Vantaggi: tutto il resto!
    A dirla in breve è all'altezza degli altri libri di Brian Kernighan; se vi serve per lavoro, quasi sicuramente avrete almeno un collega che ne ha letto almeno uno, altrimenti provate a leggerlo e difficilmente ve ne pentirete.
  • Dr. Chrilly Donninger
    5.0 out of 5 stars It's (almost) as good as the first time
    Reviewed in Germany on 6 December 2015
    Verified Purchase
    Kernighan&Ritchie, The C Programming Language, war mein erstes Programmierbuch (ich habe aber schon vorher in FORTRAN und Basic programmiert). Ich musste dieses Buch daher haben. Wahrscheinlich ist der primäre Autor A. Donovan. Ich bin davon ausgegangen, dass das Buch dennoch Kernighan Qualität hat. Ich bin nicht enttäuscht worden. Es hat mich (fast) so begeistert wie der K&R Klassiker. Es ist ein richtiges Programmierbuch für richtige Programmierer. Die Konzepte werden an Hand von vollständigen und nicht trivialen Programmen erklärt. Es ist auch der Aufbau vom einfachen zum schwierigen sehr gut gelungen. In späteren Kapiteln wird gezeigt, wie man bereits behandelte Probleme noch besser implementieren könnte. Es hat alles Hand und Fuss, das Buch enthält keine Zeile Geschwätz. Es kommen auch keine Patterns vor (siehe dazu meine Kritik des GoF Buches).

    Donovan&Kernighan ist mein zweites Go Buch. Ich habe vor drei Jahren die ebenfalls gut gemachte Einführung von M. Summerfield: Programming in Go gelesen und war von der Sprache sofort angetan (siehe dazu auch meine damalige Besprechung). Der Sprachstandard selbst hat sich seit Version 1.0 nur minimal geändert. Das ist Absicht und das Go-Team ist auch sehr stolz darauf. Die Sprache ist nicht - wie bei anderen Sprachen üblich - überladen und barock geworden. Sehr viel getan hat sich bei den Libraries. So gibt es eine sehr mächtige net-library. Go dürfte für Webserver bereits eine sehr elegante Alternative sein. Es gibt inzwischen mit LiteIDE auch eine halbwegs brauchbare IDE. LiteIDE kann aber noch nicht mit Netbeans oder Visual-Studio vollständig mithalten. Ich bin damals bei einer parallelen Anwendung über die simple Tatsache gestolpert, dass die Laufzeitumgebung per Default nur einen Thread verwendet hat. Die Parallelisierung hat daher nichts gebracht. Ich war wohl nicht der Einzige, der diesen Fehler gemacht hat. Inzwischen ist der Defaultwert die Anzahl der CPUs. Man erkennt an einer Reihe solcher Details, dass die Sprache erwachsener geworden ist.
    Meiner Meinung nach fehlt aber noch immer ein brauchbares GUI Framework. Ein erster Anlauf in Form der GXUI ist wieder eingestellt worden. Go ist im jetzigen Zustand für die Entwicklung eines (UNIX-) Werkzeugkastens oder eines Servers geeignet. Obwohl ich Go liebe werde ich für mein aktuelles Projekt Cashbot (eine vollständig automatisierte Trading Anwendung) - mangels eines ausgereiften GUIs und einer mittelprächtigen IDE - aber weiterhin JavaFX verwenden. Möglicher Weise portiere ich eine rechenintensive Portfolio-Optimierung als eigenes Go-Programm. Ich bin auch sonst auf der Suche nach einem passenden Go Problem. Wenn das bisherige Entwicklungstempo beibehalten wird könnte ich mir vorstellen, dass Go in 1-2 Jahren für meine Projekte Java und C++ als Sprache erster Wahl ablöst.

    Nachtrag: 20.12.2017 Ich habe nun einige Background-Prozesse in meiner Trading-Software CashBot auf Go umgestellt. CashBot ist in JavaFX geschrieben. Z.B. den download von historischen Daten aus diversen Datenbanken. Es gibt nun mit Visual-Studio-Code mit den Go-Extensions eine sehr brauchbare IDE die es mit Netbeans aufnehmen kann. Ich war in einem Tag in Go eingearbeitet. Zu Beginn habe ich z.B. die Java ArrayList<>() vermisst. Aber man kann das kompakter/eleganter mit slices implementieren.Es gibt kein direktes Class-Konzept wie in Java. Das kann/muss man mit Methoden ersetzen. Das Methoden-Konzept von Go ist etwas flexibler als die Java-Klassen. Aber man hat quasi mit "this" direkt zu tun. Es ist alles etwas mehr "down to the metal". Was mir als alter C-Hacker durchaus gefällt.
    Typisch für die Go Philosophie ist, dass es - in Gegensatz zu Java - keine math.Round() Methode gibt. Round() ist redundant, weil
    Floor(x+0.5) dasselbe wie Round(x) ist. Es gibt aber auf Stockoverflow Beschwerden, dass Round() fehlt. Für derartige Programmierer
    ist Go ungeeignet.
    Ein brauchbares GUI gibt es meines Wissen noch immer nicht. CashBot wird als Ganzes wohl noch für einige Zeit in Java bleiben. Aber ich werde schrittweise z.B. historische Simulationen in eigene Go-Programme auslagern und so CashBot abspecken.

Report an issue


Does this item contain inappropriate content?
Do you believe that this item violates a copyright?
Does this item contain quality or formatting issues?