Go言語がGenericsを導入、過去最大の変更となる「Go 1.18」正式版リリース

2022年3月18日

Googleが中心となってオープンソースで開発されているGo言語の最新版となる「Go 1.18」正式版がリリースされました。

ブログ「Go 1.18 is released!」によると、Go 1.18は、「massive release that includes new features, performance improvements, and our biggest change ever to the language.」(新機能、性能改善、そして過去最大の変更の変更を含む大規模なリリース)と説明されるほど、重要な意味を持つリリースです。

Genericsの導入、Fuzzingが標準機能に

その最大の変更点が、Genericsの導入です。Go 1.18のGenericsは、パラメータ化された型(Type Parameters)のプロポーザルを実装したものとなりました。

似たような処理を異なる型に対して適用する場合に、パラメータに型を与えることで簡潔に記述できるようになります。

Genericsが実装されたGo言語は、十分にテストされ、これまでのGo言語と完全なバックワード互換性があるとされています。

しかし本番環境でGenericsを用いたコードは事実上まだ存在しません。これから多くのプログラマがGenericsを用いたGo言語のコードを記述し、実行することになるため、まだ見つかっていない問題が顕在化する可能性はあります。そのため、Genericsを本番環境に適用する前には適切な注意を払うべきだとも説明されています。

また、Fuzzingと呼ばれる、検査対象のソフトウェアに問題を引き起こしそうなデータ(これが「Fuzz」と呼ばれる)を大量に送り込み、その応答や挙動を監視するテスト手法もGo 1.18の標準ツールの機能として取り込まれました。

Apple M1、ARM64、PowerPC64では、性能が最大で20%向上しています。

そのほか新機能や変更点の詳細については「Go 1.18 Release Notes」を参照してください。

このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ プログラミング言語 / Go / Google



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準
アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本