a systems programming language - expressive, concurrent, garbage-collected

Goプロジェクトチームは2月17日(米国時間)、「Go 1.6 is released|The Go Blog」において、プログラミング言語Goの最新安定版にして7つ目のリリースとなる「Go 1.6」の公開を伝えた。パフォーマンスやコンパイル時間は1つ前のバージョンとほぼ同じとされている。Go 1.5から漸進的に改善や機能追加の取り組んだバージョンに仕上がっている。

「Go 1.6」の大きな変更点の1つはnet/httpパッケージにおけるHTTP/2サポートだ。Go 1.6からはHTTP/2のサポートが機能がデフォルトで有効化されている。サーバサイドで利用する機能においてもクライアント再度で利用する機能においてもHTTP/2およびHTTPS/2の機能を利用できる。

「Go 1.6」では、1つ前のバージョンであるGo 1.5で実験的に導入されたベンダディレクトリ機能がデフォルトで有効になっており、vendorの指定を含んだソースコードはデフォルトの設定のままでコンパイルできるようになっている。

これまでcgoを使ってきた場合は「Go 1.6」に注意する必要がある。というのも、Go 1.6ではGoとCの間でポインタを共有するときのルールが変更されたからだ。新たなデザインではガベージコレクタが動作するGoとCが確実に動作するようになったため、実行時のチェックなどを実施する必要が生じている。このため、変更がもたらすクラッシュを避けるためにコードを変更する必要がある。