The Go Blog (Goブログ)

Go 1.3がリリースされました

Andrew Gerrand(アンドリュー・ゲランド)
2014年6月18日

本日、Go 1.3のリリースを発表できることを嬉しく思います。このリリースは、前回のメジャーリリースから6か月後に行われ、パフォーマンスの向上、ツールの改善、新しい環境でのGoの実行のサポートなどが提供されます。すべてのGoユーザーはGo 1.3にアップグレードする必要があります。リリースはダウンロードページから入手でき、改善点と修正点の完全なリストはリリースノートに記載されています。以下は、いくつかのハイライトです。

GoドキュメントサーバーであるGodocは、静的解析を実行するようになりました。 -analysisフラグで有効にすると、解析結果はソースとパッケージの両方のドキュメントビューに表示され、Goプログラムのナビゲーションと理解がこれまで以上に容易になります。詳細はドキュメントをご覧ください。

gcツールチェーンは、32ビットおよび64ビットのIntelアーキテクチャでNative Client(NaCl)実行サンドボックスをサポートするようになりました。Playgroundなどの環境で役立つ、信頼できないコードの安全な実行が可能です。システムにNaClをセットアップするには、NativeClient wikiページをご覧ください。

また、このリリースには、DragonFly BSD、Plan 9、およびSolarisオペレーティングシステムの試験的なサポートが含まれています。これらのシステムでGoを使用するには、ソースからインストールする必要があります。

ランタイムの変更により、Goバイナリのパフォーマンスが向上しました。ガベージコレクターの改善、新しい「連続」ゴルーチンスタック管理戦略、高速なレースディテクター、正規表現エンジンの改善などが行われました。

Goリンカーの一般的なオーバーホールの一環として、コンパイラとリンカーがリファクタリングされました。リンカーの一部であった命令選択フェーズはコンパイラに移動されました。これにより、大規模プロジェクトの増分ビルドが高速化されます。

ガベージコレクターは、スタックを検査する際に正確になりました(ヒープの収集はGo 1.1以降正確です)。これは、整数などの非ポインター値がポインターと間違えられることがなくなり、未使用のメモリが再利用されないことがなくなることを意味します。この変更は、パッケージunsafeを使用するコードに影響します。unsafeコードがある場合は、リリースノートをよく読んで、コードの更新が必要かどうかを確認してください。

このリリースに貢献してくれた多くの人々に感謝します。皆さんの助けがなければ、これは不可能でした。

さあ、何を待っていますか?ダウンロードページにアクセスして、ハッキングを始めましょう。

次の記事:GoはOSCON 2014に参加します
前の記事:GopherCon 2014のまとめ
ブログインデックス