「Go 1.17」が公開、ジェネリクスをサポート
プログラミング言語「Go」の開発チームは3月15日、最新版「Go 1.17」公開を発表した。ジェネリスクスのサポートなど、大規模な変更が加わったリリースとなる。
GoはPythonのような動的言語の開発スピードとC/C++のようなコンパイル言語の安定性を併せ持つことを目標に、Google(米Alphabet傘下)が立ち上げた開発するプログラミング言語。強い静的型付け、並行性の内蔵、堅牢な標準ライブラリなどの特徴を備える。 Go 1.18は、2021年8月に公開されたバージョン1.17に続く最新版となる。
言語面では過去最大規模の変更として、要望が多かったというジェネリクスのサポートを実現した。本バージョンではパラメータ化された型を使ったもので、複雑なジェネリクスのユースケースでも利用できるように今後もジェネリクスのサポートは強化していくとしている。1系の後方互換性も確保するという。 ツール側では、テスト手法であるファジングを標準ツールチェーンに統合した。なお、ファジングはメモリの消費が激しく、マシンのパフォーマンスに影響を与える可能性があると留意している。 開発チームによると、ジェネリクス、ファジングは共に以前から設計を進めてきたものとのこと。
複数のモジュールを使った開発を容易にするWorkspaceモードも加わった。 性能では、バージョン1.17で導入したレジスタABI呼び出しをApple M1、ARM64、PowerPC64んも拡大、最大20%の性能改善が図れるとしている。 このほかGoコマンドなどでも多数の細かな機能強化が加わった。