
Go 1.27がリリース、ジェネリックメソッドと量子耐性暗号に対応
2026年8月19日、Go チームは Go 1.27 をリリースした。言語仕様、ツールチェーン、ランタイム、標準ライブラリに渡る大幅な拡張が含まれている。ジェネリックメソッドのサポート、メモリ割り当て最適化、量子耐性暗号スキームの実装が主な改善点である。
言語仕様の拡張
Go 1.27 では言語仕様に 3 つの主要な更新が加えられた。第一に、ジェネリックメソッドがサポートされるようになった。従来は各型に対して個別のメソッドを追加する必要があったが、「Go 1.27 は全ての整数型で機能する新しいジェネリックメソッドを追加する」ようになった。
第二に、構造体リテラルのキーが、ネストされた構造体や埋め込み構造体を含む任意の有効なフィールドセレクターとして使用できるようになった。「Go 1.27 は Burrow をキーとして直接使用することを許可する」。
第三に、関数型推論が全ての代入コンテキストに一般化された。「Go 1.27 は合成リテラル、変換、チャネル送信において T = int を推論する」。
ツール機能の強化
go fix に 4 つの新しい最新化機能が追加された:atomictypes、embedlit、slicesbackward、unsafefuncs である。また go doc は package@version クエリに対応し、go doc example.com/pkg@v1.2.3 のような形式が使用可能になった。
go mod tidy は複数の require ブロックを自動的に標準的な direct と indirect の 2 ブロック構造に統合する。
ランタイムとパフォーマンス最適化
サイズ特化メモリ割り当ては、80B 未満の小さなオブジェクトの割り当てコストを最大 30% 削減する。runtime/pprof の goroutineleak プロファイルが一般利用可能になった。
標準ライブラリの追加機能
encoding/json/v2 は設定可能なオプションと厳密なデフォルト値を備えた高度な JSON 処理を提供する。crypto/mldsa は FIPS 204 に準拠した量子耐性の ML-DSA 署名スキームを実装する。uuid は UUID の生成とパース用のネイティブサポートを提供し、simd と architecture-specific な simd/archsimd は実験的な SIMD サポートを提供する。net/http/httptest は testing/synctest パッケージとの使用に適したメモリ内偽ネットワークの NewTestServer を追加する。
筆者の見立て
- サイズ特化メモリ割り当ては、割り当て集約的なプログラムのパフォーマンスを約 1% 改善する可能性を示唆している。
この記事は元記事の事実のみに基づいて自動生成されました。
出典
The Go Blog「Go 1.27 is released - The Go Programming Language」https://go.dev/blog/go1.27