ニュース

Apple Silicon(M1)にネイティブ対応した「Go 1.16」が公開

ビルドは最大25%高速化、使用メモリは最大15%削減。新ディレクティブや機能拡充も

Apple Silicon(M1)にネイティブ対応した「Go 1.16」が公開

 プログラミング言語「Go」の最新版v1.16が、2月16日にリリースされた。本バージョンの目玉は、macOS ARM64(darwin/arm64)アーキテクチャーがサポートされたこと(iOS向けポートは“ios/arm64”に)。“Apple Silicon”(M1)を搭載したデバイスでもネイティブ動作するようになった。

 Apple Siliconでネイティブ動作するGo言語のバイナリは、「Rosetta 2」トランスレーションを介したものよりもパフォーマンスが大きく向上する。また、安定性も改善されるようだ。Go言語は「Docker Desktop」をはじめとする多くの製品で採用されているが、M1ネイティブ対応が一層進むことが期待される。

 そのほかにも、ビルドが最大25%高速化され、使用メモリは最大15%削減された。言語機能には変更はないが、新たに“//go:embed (ファイル名)”というディレクティブが導入され、コンパイル時にファイルを埋め込めるようになった。複数ファイルの埋め込みやワイルドカードでのファイル指定もサポートされており、ソースコードとデータの分離、ファイルの読み込みが容易になる。

 また、“Go Modules”のデフォルト有効化や“go install”コマンドの拡充により、モジュールの管理が容易になっている。

 「Go」言語はWindows、Mac、Linuxなど幅広いプラットフォームに対応しており、現在“golang.org”から無償でダウンロード可能。Windows向けはWindows 7以降に対応している。

 なお、「Go 1.16」は「macOS Sierra(10.12)」で動作可能な最後のリリースとなる。「Go 1.17」からは「macOS High Sierra(10.13)」が必要となるので注意したい。