概要
注目のプログラミング言語Goを習得するメリットはいくつかあります。シンプルな言語設計のため学習しやすく,整理されたコーディング規約によりチーム開発で運用しやすいこと。マルチプラットフォームに対応し,さまざまな環境へのツールをつくるときに有用であること。インフラ部門のスループットの重い作業の処理速度を並列実行により改善できること,などが挙げられます。Cなどの軽量言語やLL言語(Ruby/Perl/Pythonなど)を使っているのであれば,Go言語を利用しそのメリットを享受できるでしょう。本書で紹介するTipsや利用方法を参考にすれば,Go言語を適材適所で利用するための勘所をつかむことができます。
こんな方におすすめ
- Go言語を使ってみたい方
- Go言語に携わることなった方
- インフラエンジニア
目次
第1章Goによるチーム開発のはじめ方とコードを書く上での心得(松木雅幸)
- 1.1 開発環境の構築
- 1.2 エディタと開発環境
- 1.3 Goをはじめる
- 1.4 Goらしいコードを書く
第2章マルチプラットフォームで動作する社内ツールのつくり方Windows(mattn)
- 2.1 Goで社内ツールをつくる理由
- 2.2 守るべき暗黙のルール
- 2.3 TUIもWindowsで動かしたい
- 2.4 OS固有の処理への対応
- 2.5 がんばるよりもまわりのツールに頼る
- 2.6 シングルバイナリにこだわる
- 2.7 Windowsアプリケーションの作成
- 2.8 設定ファイルの取り扱い
- 2.9 社内ツールのその先に
第3章実用的なアプリケーションを作るために(藤原俊一郎)
- 3.1 はじめに
- 3.2 バージョン管理
- 3.3 効率的なI/O処理
- 3.4 乱数を扱う
- 3.5 人間が扱いやすい形式の数値
- 3.6 Goから外部コマンドを実行する
- 3.7 タイムアウトする
- 3.8 シグナルを扱う
- 3.9 goroutineの停止
第4章コマンドラインツールを作る(中島大一)
- 4.1 なぜGoでCLIツールを書くのか?
- 4.2 デザイン
- 4.3 flagパッケージ
- 4.4 サブコマンドを持ったCLIツール
- 4.5 使いやすく,メンテナンスしやすいツール
第5章The Dark Arts Of Reflection(牧 大輔)
- 5.1 動的な型の判別
- 5.2 reflect パッケージ
- 5.3 reflect の利用例
- 5.4 reflect のパフォーマンスとまとめ
第6章Goのテストに関するツールセット(鈴木健太)
- 6.1 Goにおけるテストのあり方
- 6.2 testingパッケージ入門
- 6.3 ベンチマーク入門
- 6.4 テストの実践的なテクニック
サポート
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
(2016年10月5日更新)
P.35 右段
誤 |
Ruby では begin/rescure/ensure を使います
|
正 |
Ruby では begin/rescue/ensure を使います
|
P.41 左段コード部分
P.84 パフォーマンス
「最後にパフォーマンスが利点として挙げられます。Goは型付き言語でありLL言語と比較すると高速なツールを書くことができます。」部分が重複しております。
|
P.96
P.97
P.102 左下のコード内
誤 |
return fmt.Errorf("failed to read configuration file: %s")
|
正 |
return fmt.Errorf("failed to read configuration file: %s", err)
|
P.107 右上コードのコメント部分
誤 |
mapだけでは不完全な型なので指定
|
正 |
mapだけでは不完全な型なので指定できない
|
P.108 見出し部分
P.117
P.118 13行目,19行目
P.134 左段
誤 |
reflectパッケージについては第2章をご覧ください。
|
正 |
reflectパッケージについては第5章をご覧ください。
|
補足情報
サンプル画像
本誌P.40のgo-colorableの適用後のサンプル画像です。
(2016年9月12日更新)