The Go Programming Language

出版社 Pearson Education
発売日 2015/11/05
ページ数 400
ISBN-13 9780134190440
お届け日 通常 02月20日~02月27日

通常価格 ¥4,400

税込 配送料は購入手続き時に計算されます。


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: // and may be conveniently fetched, built, and installed using the go get command.


Go Programming Language は、囲碁を学びたいと考えているプログラマーのための権威ある資料です。実世界の問題を解決するために、明確で慣用的な囲碁の書き方を示しています。この本は、Goの予備知識や特定の言語の経験を前提としていないので、JavaScript、Ruby、Python、Java、またはC++に慣れている人でもアクセスしやすいでしょう。

  • 第1章では、Goの基本的な概念についてのチュートリアルを行い、ファイルI/Oやテキスト処理、簡単なグラフィック、Webクライアントやサーバのプログラムを通して紹介します。
  • 初期の章では、構文、制御フロー、データ型、パッケージ、ファイル、関数へのプログラム構成など、Goプログラムの構造的な要素を取り上げています。また、標準ライブラリの多くのパッケージを例示し、独自のパッケージを作成する方法を示しています。後の章では、パッケージの仕組みをより詳しく説明し、goツールを使ってプロジェクトを構築、テスト、保守する方法を説明します。
  • メソッドとインターフェースの章では、オブジェクト指向プログラミングに対するGoの型破りなアプローチを紹介します。これらの章では、カプセル化、構成、代替性の重要な原則を実例を用いて説明しています。
  • 並行性に関する2つの章では、ますます重要性を増しているこのトピックへの詳細なアプローチを紹介しています。最初の章では、ゴロチンとチャンネルの基本的なメカニズムをカバーし、Goが有名な逐次プロセスの通信として知られるスタイルを説明しています。2番目の章では、共有変数を使用した並行処理のより伝統的な側面をカバーしています。これらの章では、初めて並行処理を使用するプログラマーのための強固な基礎を提供します。
  • 最後の2つの章では、Goの低レベルの機能を探求します。1 つの章では、リフレクションを使用したメタプログラミングの技術を扱います。もう1つの章では、特別な状況のために型システムの外に出るために安全でないパッケージを使用する方法や、C ライブラリ用の Go バインディングを作成するために cgo ツールを使用する方法を示しています。

この本では、言語全体、最も重要なパッケージ、幅広いアプリケーションを網羅した、興味深く実用的なGoコードの例が何百も掲載されています。各章には、理解度をテストし、拡張機能や代替機能を探索するための練習問題があります。ソースコードはhttp: //から自由にダウンロードできます。