「Go 1.16」が公開、module-awareモードがデフォルトで有効に
Googleのプログラミング言語「Go」の開発チームは2月16日、最新安定版となる「Go 1.16」を公開した。Apple Siliconのサポートなど多数の強化が加わっている。Go 1.16は2020年8月に公開されたGo 1.15に続く最新版。
コンパイル時に埋め込まれたファイルに//go:embedディレクティブを使ってアクセスできる新しいパッケージが加わった。Goプログラムへのデータファイルのバンドルが容易になるとしている。モジュールを認識するmodule-awareモードがデフォルトで有効になった。2020年の調査では、すでにGo開発者の96%がこのモードに切り替えているという。
ファイルシステムでは、ファイルのリードオンリーツリーの抽出であるfs.FSインターフェイスを定義するio/fsパッケージを導入した。ランタイムでは、runtime/metricsパッケージを導入した。実装定義されたメトリクスをGoランタイムから読み込むためのインターフェイスとなり、既存のruntime.ReadMemStatsとdebug.GCStatsを置き換えるものになる。
macOS ARM64(Apple Silicon)のサポートも加わった。iOSポートはdarwin/arm64からios/arm64に名称が変更されている。AMD64ベースのmacOSで動くiOSシミュレーターをターゲットにするios/amd64ポートも加わっている。このほか、NetBSDで64-bit ARMアーキテクチャのサポートなども加わっている。
バグの修正などにより、ビルドは最大25%高速になりメモリ消費は最大15%削減できるという。