書籍概要

みんなのGo言語
[現場で使える実践テクニック]

著者
発売日
更新日

概要

注目のプログラミング言語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 左段コード部分


var cmd exec.Cmd


var cmd *exec.Cmd

P.84 パフォーマンス

「最後にパフォーマンスが利点として挙げられます。Goは型付き言語でありLL言語と比較すると高速なツールを書くことができます。」部分が重複しております。

P.96


codegansta


codegangsta

P.97


codegansta


codegangsta

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


refrect.SelectCkase


reflect.SelectCase


P.118 13行目,19行目


func \_main() {


func _main() {

P.134 左段

reflectパッケージについては第2章をご覧ください。
reflectパッケージについては第章をご覧ください。

補足情報

サンプル画像

本誌P.40のgo-colorableの適用後のサンプル画像です。

(2016年9月12日更新)

P.40サンプル画像

商品一覧