このエントリーをはてなブックマークに追加
2017/03/25

「みんなのGo言語」読書メモ 1

第1章 Goによるチーム開発のはじめ方とコードを書く上での心得

1.1 開発環境の構築、1.2 エディタと開発環境

  • $GOPATH$HOME/dev などを設定して ghq, peco などを使ってGo以外のソースコードも一緒に管理すると便利
  • gofmt 便利。その上位互換 goimports もっと便利。その高速版 dragon-imports(なぜかインストールできなかった)

1.3 Goをはじめる

  • サードパーティの依存関係は glide を使って管理する
  • タスクランナーとしてMakefileを使う

1.4 Goらしいコードを書く

  • 例外を使わない
  • 正規表現は避けてstringsパッケージを使う
  • map(データ構造)を避ける
  • reflectを避ける
  • 巨大なstructを作らない。継承させようとしない
  • 並行処理を使いすぎない
  • -ldflags オプションを使ってビルド時にバイナリに情報を埋め込むことができる
  • -tags オプションでビルド対象を切り替えられる(マルチプラットフォームなど)

感想

Goはgofmtなどのツールが標準でよく整備されていて良いなと思った。glideやMakefileを使用するのもシンプルで好印象を持った。 「1.4 Goらしいコードを書く」では、例外じゃないエラー処理は、うーんどうなんだろう?面倒じゃないのかな?他はだいたい同意かな。 まだGoのコードは自分では(サンプル写経程度しか)書いたこと無いし、Tour of Go やって、この本の1章読んだくらいなのだけど、今のところ、言語としての面白さは感じない。環境は結構整っていて仕事で使うには悪くないかもしれないな、という印象。