Go ブログ

Go 1.18 がリリースされました!

Go チーム
2022年3月15日

本日、Go チームは Go 1.18 のリリースを発表します。ダウンロードページ(download page)から入手できます。

Go 1.18 は、新機能、パフォーマンスの向上、そして言語に対するこれまでで最大の変化を含む大規模なリリースです。Go 1.18 の一部の設計は、Go を最初にリリースした 10 年以上前に始まったと言っても過言ではありません。

ジェネリクス

Go 1.18 では、パラメーター化された型を使用したジェネリックコードの新しいサポートを導入しています。ジェネリクスのサポートは Go で最も多くリクエストされた機能であり、今日のユーザーの大多数が必要とするジェネリックサポートを提供できることを誇りに思っています。今後のリリースでは、より複雑なジェネリックユースケースに対して追加のサポートを提供する予定です。ジェネリクスのチュートリアルを使用してこの新機能を知り、今日からコードを最適化および簡素化するための最良のジェネリクスの使用方法を検討してください。リリースノートには、Go 1.18 でのジェネリクスの使用に関する詳細が記載されています。

ファジング

Go 1.18 では、Go はファジングを標準ツールチェーンに完全に統合した最初の主要な言語になります。ジェネリクスと同様に、ファジングも長い間設計されてきたものであり、このリリースで Go エコシステムと共有できることを嬉しく思っています。この新機能の使用を開始するには、ファジングチュートリアルをご確認ください。

ワークスペース

Go モジュールはほぼすべてのユーザーに採用されており、Go ユーザーは年次調査で非常に高い満足度スコアを報告しています。2021 年のユーザー調査では、モジュールに関するユーザーが特定した最も一般的な課題は、複数のモジュールをまたいで作業することでした。Go 1.18 では、新しいGo ワークスペースモードでこの問題に対処しました。これにより、複数のモジュールを簡単に操作できます。

20% のパフォーマンス向上

Apple M1、ARM64、および PowerPC64 のユーザーの皆様、おめでとうございます!Go 1.18 には、Go 1.17 のレジスタ ABI 呼び出し規約をこれらのアーキテクチャに拡張したことにより、最大 20% の CPU パフォーマンスの向上が含まれています。このリリースの規模を強調するために、20% のパフォーマンス向上は、4 番目に重要な見出しです!

1.18 に含まれるすべての詳細については、リリースノートを参照してください。

Go 1.18 は、Go コミュニティ全体にとって大きなマイルストーンです。バグを報告したり、変更を送信したり、チュートリアルを書いたり、Go 1.18 の実現に何らかの形で協力してくれたすべての Go ユーザーに感謝します。あなたなしではできませんでした。ありがとうございました。

Go 1.18 をお楽しみください!

次の記事:ジェネリクス入門
前の記事:Go 1.18 Beta 2 の発表
ブログインデックス