何が変わったのかと興味津々、私調べで1ページずつ目視でざっくりと新旧を比較して、見つけた変更箇所は約30カ所。サンプルコードも文字コード変更による日本語の差分と2つの新規追加分ぐらいで、内容的には大きくは変わっていませんでした。
すなわち、Goの言語仕様は大きく変わっていない、つまり、安定しているということです。これは新たに言語を習得したり導入したりする部分で重要なことだと思います。Go 1.x系はコードレベルでの上位互換性が保証されていることも強みです。
小さくは変わっているので、主な変更点をご紹介。
Goのバージョン
Go 1.0.3からGo1.4.2に変わっています。
go runコマンドの実行時エラーにてexit statusが出力されています。
サンプルのソースコードもGo 1.4で実行し直して動作確認されているようです。
Windows対応の強化
コマンドプロンプト上での作業時における大半の注意書きがなくなっています。
コラムの追加
新しいコラムがいくつか追加されており、既存のコラムの修正も少しあります。
追加された文法に対応
メソッドの章ではGo 1.1からの「Method values」が追加されています。
スライスの章ではGo 1.2からの「Three-index slices」が追加されています。
繰り返し処理の章ではGo 1.4からの戻り値なしの「For-range loops」に変更されています。
その他、
公式のダウンロード類のURLがgolang.orgに変更
main関数を含む複数ファイルの実行不可
go docコマンドの廃止(現在はgodocだがGo 1.5から復活)
ログファイルの追記モード、など
細かなところまでキッチリと更新されています。
本書のウリは「公式サイトに書かれていること」を解説やコードを交えて日本語で書かれている点です。また、正誤表やミスがない点も挙げられます。たまにベテランgopher(?)の方が「◯◯を初めて知った」と発言されているシーンをお見受けしますが、「それ、本書に書かれてますよ。」というものだったりします。
残念な点を挙げるとしたら、来月リリース予定のGo 1.5対応でなかった点ですね。今後は「Goでモバイルアプリを作ろう」みたいな書籍も出てくるかも!?
私版:正誤表
31ページのCOLUMNにて、Mac版のgitインストーラーのダウンロード先がcode.google.comになっていますが、現在はsourceforge.net(http://sourceforge.net/projects/git-osx-installer)です。
[2015.07.20] go docについて訂正
go docコマンドですが、改訂2版には「Go 1.2で廃止」と記載されておりGo 1.4.2でも使えませんがGo 1.5からは復活するようです。
$ go version
go version go1.5beta2 darwin/amd64
$ go
Go is a tool for managing Go source code.
Usage:
go command [arguments]
The commands are:
build compile packages and dependencies
clean remove object files
doc show documentation for package or symbol
env print Go environment information
(以下、省略)