Go 1.1リリース

Go 1.1 is released by Andrew Gerrand

Go 1.1のリリースを発表できることを、私たちは大変嬉しく思います。

昨年3月にGo 1.0をリリースしてから、私たちは3つのマイナーな「ポイントリリース」を出してきました。 これらのポイントリリースは重大な問題だけを修正するためのものだったので、今日使われているGo 1.0.3も 本質的には2012年3月にリリースしたGo 1.0のままです。

Go 1.1にはGo 1.0からの多くの改善が含まれています。

もっとも大きな改善はパフォーマンスに関するものです。コンパイラとリンカ、ガベージコレクタ、 ゴルーチンスケジューラ、マップの実装、そして標準ライブラリの一部に最適化を施しました。 Go 1.1でビルドすると、あなたのGoのコードは目に見えて速く動くようになるでしょう。

言語自体にもいくつか小さな変更があります。中でも特筆すべきものが2つあります。 return文の要件に関する変更によってより簡潔で正確なプログラムが書けるようになったこと、 そしてメソッド値の導入により、メソッドをそのレシーバーに束縛して関数値として 扱う表現力豊かな方法が手に入ったことです。

Go 1.1では、プログラム内のメモリ同期エラーを見つけるためのレースディテクタが追加されたことで、 並行プログラミングがより安全になりました。レースディテクタについては近日中の記事で詳しく取り上げますが、 差し当たってはマニュアルから始めるとよいでしょう。

ツール群と標準ライブラリも改善され、拡張されています。詳細はすべてリリースノートで読めます。

互換性のガイドラインにあるとおり、Go 1.1はGo 1.0との互換性を保っているので、 すべてのGoユーザーに新しいリリースへのアップグレードをお勧めします。

これらすべては、オープンソースコミュニティのコントリビューターの助けなしには実現しませんでした。 Go 1.0以降、コアには161人のGoogle社外の人々から2600件以上のコミットが寄せられました。 時間と労力を割いてくださったすべての方に感謝します。特に、Shenghou Ma、Rémy Oudompheng、 Dave Cheney、Mikio Hara、Alex Brainman、Jan Ziak、Daniel Morsingの各氏には、 その卓越した貢献に対して御礼申し上げます。

新しいリリースを入手するには、いつもどおりインストール手順に従ってください。 よいハッキングを!

ゴーファーを描いてくれたRenée Frenchに感謝します!

By Andrew Gerrand