Google、「Go 1.11」を公開。WebAssemblyを実験的にサポート

 Googleの「Go」言語開発チームは8月24日、最新版となる「Go 1.11」を公開した。モジュールコンセプト、WebAssemblyサポートなどが実験的に加わっている。

 Go 1.11は2月に公開された「Go 1.10」に続く最新安定版。2013年の正式版(「Go 1.0」)公開から11回目のポイントリリースとなる。開発チームはGo 1.11の大きな特徴として、モジュールコンセプトの導入とWebAssemblyのサポートを挙げている。

 モジュールはGOPATH環境変数の代替となるもので、バージョニング、パッケージディストリビューションの統合サポートを含む。GOPATHでの作業に制限されずにバージョン依存情報は明確、軽量になり、ビルドの信頼性と再利用性を改善できるという。なお、モジュールは本リリースでは実験扱い(プレビュー)となっている。

 Webブラウザ上でバイナリフォーマットの形で実行できるWebAssembly(js/wasm)ポートも実験的に導入した。Goプログラムを主要な4種類のWebブラウザ上で動作するバイナリファイルにコンパイルでき、goroutineスケジュール、ガベージコレクション、マップなどGoランタイムを含むWebAssemblyモジュールを作成できる。合わせて、JavaScriptの呼び出しができるパッケージsyscall/jsも実験導入した。

 パッケージの読み込みではGoソースコードのパッケージの識別や読み込みのためのAPIを提供するgolang.org/x/tools/go/packagesが加わった。1.11は1.10で導入したビルドキャッシュを無効にできる最後のリリースとなり、1.12よりビルドキャッシュが必須になるという。

 アセンブラでは、amd64向けでAVX512命令セットを利用できるようになった。

 このほか、デバッグ、テスト、性能などで様々な強化が加わっている。

Go
https://golang.org/