米Googleは、プログラミング言語Goの最新バージョンとなる「Go 1.18」をリリースしている。
「Go 1.18」は、言語仕様、ツールチェーンの実装、ランタイム、ライブラリの変更を含む重要なリリースであり、既存のプログラムはこれまでと同様に、そのままコンパイル~実行できる。
言語仕様の変更としては、「Type Parameters Proposal」にて説明されているジェネリクス機能の実装が含まれており、関数と型の宣言の構文が型パラメータを受け入れるようになったほか、パラメータ化された関数と型で角括弧で囲まれた型引数のリストを後に続けることでインスタンス化することが可能になり、新しいトークン「~」が演算子と句読点のセットに追加された。
さらに、インターフェース型の構文でユニオン要素と~T型要素だけでなく、任意の型を埋め込めるようになるとともに、interface{}の代替として使える空のインターフェースのエイリアスである事前宣言された識別子any、型制約としてのみ(または型制約に埋め込んで)使用可能な事前宣言された識別子comparableが追加されている。
ほかにも、関数リテラル内に設定されているが使用されていない変数のエラーを正しく報告するようになるなど、いくつかのバグ修正が行われたほか、数多くの機能追加・改善が行われた。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です