みんなのGo言語 現場で使える実践テクニック
売り上げランキング: 28,351
Go を使って実務的なシステムを開発するためのベストプラクティス集といった本。他の言語だと、Effective-x
系とか、perl だと モダンPerl入門 にトーンは近いと思う。
Go の学習のながれとして、まずは A Tour of Go で文法的な部分を学んで、その後 公式のドキュメント で言語仕様を補完していくのが鉄板だと思っている。その次に読む本としては本書はかなりいいと思う。一日で読み終わる程度のさらっとした分量なのでとっつきやすい。Software Design か Web+DB Press の特集をまとめたムック本くらいの内容なので、中級者以上には内容の深さが足りないかもしれないが、そういう意味でも文法を覚えたあとの初級者に次のステップとしておすすめできる。
個人的には 4 章の CLI ツールをつくるための tips を紹介した章がよかった。たとえばディレクト構成やテストしやすいパッケージの切り方など、Go らしいデファクトなやり方、いわゆるベストプラクティスを紹介してくれていたのが理由。デファクトのライブラリやその使い方の解説は、そのキーワードにさえたどり着ければ (もちろん有用なんだけれど) ある程度調べればわかることなんだけれど、こういうベストプラクティスはまず「Go らしい書き方をしているコード」を見分けられるようになって、それをいくつも読み込んでいかないと身につかないものだと思う。この学習コストを本書でスキップできたのは助かった。
2016 年に発売されたものなので、流石に古くなっている部分もある。たとえば vendoring に関しては glide が紹介されているが、当たり前だがその後の dep, Modules (vgo) の流れはカバーされていない。
また Web アプリケーション (Web API) の開発運用に関するトピックがまったくないのも物足りない部分だと思った。最近では API を Go で書くことがかなりの市民権を得ている状況なので、この部分がカバーされるとよりよいかなと思った。(もちろんこれも、2016 年に出版された本に求めるものではない)
とはいえまだまだ有用な内容が多く、良書だった。言語仕様をひととおり見たあとに手に取る本としておすすめ。