プログラミング言語Go

プログラミング言語Go(電子書籍)

原書名 The Go Programming Language
著者名 柴田 芳樹
発行元 丸善出版
発行年月日 2021年05月
NDCコード 548

内容紹介

プログラミング言語Goはロブ・パイクやケン・トンプソンら著名なプログラマたちによりGoogleで生み出された。Goは最小の方法で最大の効果を生み出すプロフェッショナルなプログラマ向けのツールでありシンプルで信頼性が高く、効率的なソフトウェアの構築を容易にする。本書は、明解で効率的なプログラムを今すぐGoで書くために、言語機能と標準ライブラリを最大限活用する助けになるよう書かれている。前半ではプログラムの構造的要素、基本データ型、コンポジット型、関数など基本事項を解説し、後半は従来の言語とはやや異なる方法をとるメソッド、インタフェース、並行性、パッケージ、テスト、リフレクションに焦点を当てる。原著者の一人は、K&Rとして知られる名著『プログラミング言語C』の著者の一人でもあり、Goの開発者たちのプログラミング哲学も知悉したブライアン・カーニハン。Goプログラマにとって必携の書となるだろう。

目次

まえがき
 Goの起源/Goプロジェクト/この本の構成/より多くの情報を探すには/謝辞
第1章 チュートリアル
 1.1 ハロー・ワールド
 1.2 コマンドライン引数
 1.3 重複した行を見つける
 1.4 GIFアニメーション
 1.5 URLからの取得
 1.6 URLからの並行な取得
 1.7 ウェブサーバー
 1.8 残りの項目
第2章 プログラム構造
 2.1 名前
 2.2 宣言
 2.3 変数
 2.4 代入
 2.5 型宣言
 2.6 パッケージとファイル
 2.7 スコープ
第3章 基本データ型
 3.1 整数
 3.2 浮動小数点数
 3.3 複素数
 3.4 ブーリアン
 3.5 文字列
 3.6 定数
第4章 コンポジット型
 4.1 配列
 4.2 スライス
 4.3 マップ
 4.4 構造体
 4.5 JSON
 4.6 テキストテンプレートとHTMLテンプレート
第5章 関数
 5.1 関数宣言
 5.2 再帰
 5.3 複数戻り値
 5.4 エラー
 5.5 関数値
 5.6 無名関数
 5.7 可変個引数関数
 5.8 遅延関数呼び出し
 5.9 パニック
 5.10 リカバー 
第6章 メソッド
 6.1 メソッド宣言
 6.2 ポインタレシーバを持つメソッド
 6.3 構造体埋め込みによる型の合成
 6.4 メソッド値とメソッド式
 6.5 例:ビットベクタ型
 6.6 カプセル化
第7章 インタフェース
 7.1 契約としてのインタフェース
 7.2 インタフェース型
 7.3 インタフェースを満足する
 7.4 flag.Valueによるフラグの解析
 7.5 インタフェース値
 7.6 sort.Interfaceでのソート
 7.7 http.Handlerインタフェース
 7.8 errorインタフェース
 7.9 例:式評価器
 7.10 型アサーション
 7.11 型アサーションによるエラーの区別
 7.12 インタフェース型アサーションによる振る舞いの問い合わせ
 7.13 型switch
 7.14 例:トークンに基づくXMLデコード
 7.15 ちょっとした助言
第8章 ゴルーチンとチャネル
 8.1 ゴルーチン
 8.2 例:並行な時計サーバ
 8.3 例:平行なエコーサーバ
 8.4 チャネル
 8.5 並列にループする
 8.6 例:並行ウェブクローラ
 8.7 selectでの多重化
 8.8 例:並行なディレクトリ走査
 8.9 キャンセル
 8.10 例:チャットサーバ
第9章 共有された変数による並行性
 9.1 競合状態 
 9.2 相互排他:sync.Mutex
 9.3 リード/ライトミューテックス:sync.RWMutex
 9.4 メモリの同期
 9.5 遅延初期化:snyc.Once
 9.6 競合検出器
 9.7 例:並行的で待たされないキャッシュ
 9.8 ゴルーチンとスレッド
第10章 パッケージとGoツール
 10.1 導入
 10.2 インポートパス
 10.3 パッケージ宣言
 10.4 インポート宣言
 10.5 ブランクインポート
 10.6 パッケージと命名
 10.7 Goツール
第11章 テスト
 11.1 go testツール
 11.2 Test関数
 11.3 カバレッジ
 11.4 Benchmark関数
 11.5 プロファイリング
 11.6 Example関数
第12章 リフレクション
 12.1 なぜリフレクションなのか
 12.2 reflect.Typeとreflect.Value
 12.3 Display:再帰的な値の表示
 12.4 例:S式のエンコード
 12.5 reflect.Valueでの変数の設定
 12.6 例:S式のデコード
 12.7 構造体のフィールドタグへのアクセス
 12.8 型のメソッドを表示する
 12.9 注意書き
第13章 低レベルプログラミング
 13.1 unsafe.Sizeof、Alignof、Offsetof
 13.2 unsafe.Pointer
 13.3 例:深い同値性
 13.4 cgoを使ったCコードの呼び出し
 13.5 もう一つの注意書き

関連商品