ニュース

「Go 1.22」がリリース ~Googleによる生産性と並列実行に優れたプログラミング言語

「for」ループに2点の仕様変更

「Go 1.22」がリリース

 プログラミング言語「Go 1.22」が、2月6日にリリースされた。「for」ループの強化や新しい標準ライブラリの追加、パフォーマンスの向上などが行われている。

 「Go」は、Googleの支援で開発が行われているオープンソースのプログラミング言語。ガベージコレクションを備えた静的型付け言語だが、Javaをはじめとする既存のプログラミング言語に比べると仕様がシンプルになっている。動的型付け言語の利点を取り入れていることもあり、学習が比較的容易で、生産性が高いのが特徴。とくに並行処理に優れており、パフォーマンスと信頼性、効率性を要求される場面での採用が多いようだ。

 「Go」言語は6カ月ごとにアップデートされており、本リリースではツールチェインやランタイム、ライブラリの改善が中心となっている。

 言語仕様に関しては、「for」ループに2つの変更が加えられた。

 1つ目はループ変数の扱いで、以前は単なる参照であったのが、各反復で新しい変数が作成されるようになった。これにより、起動の遅い「goroutine」をループ内で利用する場合などで発生していた偶発的な共有バグが回避される。この仕様変更の影響を受ける箇所は、ビルドオプションで確認が可能。

 もう1つは「range-over-function」イテレーターと呼ばれるもので、N回繰り返すタイプのループが「C」言語スタイルよりも簡潔に書ける。この機能はまだ試験的なもので、「GOEXPERIMENT=rangefunc」という環境変数をセットしてビルドすることで利用可能。

範囲(range)でループを指定。他のプログラム言語でも採用がある簡潔な記法だ

 「Go」言語のバイナリは現在、公式サイト「golang.org」から無償でダウンロード可能。Windows/Mac/Linuxなどに対応しており、Windows版は64bit版のWindows 10以降で利用できる。