Goブログ
Go 1.4リリース
本日、Goの5番目の主要な安定版リリースであるGo 1.4を発表します。これは、前回のメジャーリリースGo 1.3から6ヶ月後のリリースです。これには、小さな言語変更、より多くのオペレーティングシステムとプロセッサアーキテクチャのサポート、ツールチェーンとライブラリの改善が含まれています。従来どおり、Go 1.4は互換性を約束しており、ほとんどのものは1.4に移行しても変更なしでコンパイルおよび実行され続けます。詳細については、Go 1.4リリースノートを参照してください。
このリリースで最も注目すべき新機能は、Androidの公式サポートです。コアのサポートとgolang.org/x/mobileリポジトリのライブラリを使用することで、Goコードのみを使用してシンプルなAndroidアプリを作成できるようになりました。現時点では、サポートライブラリはまだ初期段階であり、開発が盛んに行われています。早期採用者は困難を覚悟する必要がありますが、コミュニティの参加を歓迎します。
言語の変更は、for-rangeループの構文の調整です。値、ループインデックス、またはマップキーを代入せずに、sからの各アイテムをループ処理するために、「for range s {」と書くことができます。リリースノートで詳細を確認してください。
goコマンドには、コンパイル前にソースコードを生成するツールの実行を自動化する新しいサブコマンド、go generateが追加されました。たとえば、新しいstringerツールを使用して、型付き定数のStringメソッドの生成を自動化するために使用できます。詳細については、設計ドキュメントを参照してください。
ほとんどのプログラムは、1.3よりも1.4でほぼ同じ速度か、わずかに高速に実行されます。一部はわずかに遅くなる可能性があります。多くの変更があるため、期待できる内容について正確に述べるのは困難です。リリースノートで詳細を確認してください。
そして、もちろん、多くの改善とバグ修正があります。
見逃した方のために、数週間前にサブリポジトリが新しい場所に移動されました。たとえば、go.toolsパッケージは現在、「golang.org/x/tools」からインポートされます。発表記事で詳細を確認してください。
このリリースは、プロジェクトのソース管理がMercurialからGitへ、コードレビューがRietveldからGerritへ、そして問題追跡とwikiがGoogle CodeからGitHubへ移行した時期とも一致します。この移行は、コアGoリポジトリとそのサブリポジトリに影響を与えます。go.googlesource.comで標準的なGitリポジトリを見つけることができ、問題トラッカーとwikiはgolang/go GitHubリポジトリにあります。
開発はすでに新しいインフラストラクチャに移行していますが、1.4リリースについては、ソースからインストールするユーザーはMercurialリポジトリを使用することをお勧めします。
App Engineユーザーの場合、Go 1.4はベータテストで使用できます。発表で詳細を確認してください。
Goチームの全員から、Go 1.4を楽しんで、楽しいホリデーシーズンをお過ごしください。