Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

Go 1.18 が正式にリリースされ、画期的なジェネリック機能が追加されました

Go 1.18 が正式にリリースされ、画期的なジェネリック機能が追加されました

待望の Go 1.18 プログラミング言語が、画期的なジェネリック機能を備えた製品リリースとしてついにリリースされました。これは、2012 年に Go 1.0 が最初にリリースされて以来、Go プログラミング言語に対する最も重要な変更を示しています。Go 1.18 は、3 月 15 日の時点で go.dev からダウンロードできます。

ジェネリクスは、Go プログラマーから最も要望の多かった機能であり、パラメーター化された型を使用したジェネリック コードのサポートを提供します。以降のリリースでは、より複雑な一般的なユース ケースをさらにサポートする予定です。ユーザーは、ジェネリック チュートリアルとリリース ノートを通じて、この機能に関する情報にアクセスできます。

Go 言語サーバーである gopls は、Visual Studio Code Go 拡張機能と共にジェネリックをサポートするようになりました。ジェネリックを使用して gopls をインストールする手順については、ドキュメントを参照してください。

Go 1.18 プロダクション リリースは、ベータ版とリリース候補版の段階に続きます。最初のリリースは 2022 年 2 月に予定されていましたが、3 月中旬まで延期されました。 12 月 14 日にデビューした Go 1.18 Beta 1 は、パラメータ化された型を使用した汎用コードをサポートする、Google が開発したオープンソース言語の最も重要なプレビュー リリースでした。このベータ バージョンは、これまでで最もダウンロード数の多い Go ベータ版でもあり、以前のベータ リリースの 2 倍のダウンロード数を誇っています。

ジェネリック プログラミングは、関数とデータ構造を一般的な形式で表現し、型を分解できる拡張機能です。これにより、コードの共有が容易になり、プログラムの構築が簡素化されます。

Go チームは、新しいジェネリック機能にアプローチする際には注意を促しました。これは、新しいバグが重要な新機能で表面化する可能性があるためです。さらに、特定の種類の再帰ジェネリック型など、特定の微妙なケースのサポートは、将来のリリースに延期されました。

この警告にもかかわらず、アーリー アダプターはこの新機能に満足していると報告されています。ジェネリックを使い始めるための簡単なチュートリアルは、こちらで公開されています。 2019 年 7 月のブログ投稿で報告されているように、Go にはジェネリック プログラミングの形式であるインターフェイス型がありましたが、Go 開発者がジェネリックに求めていた特定の側面が欠けていました。たとえば、Go ジェネリックの支持者は、スライスの要素の型に関係なく、Reverse のような関数を探しました。

Go 1.18 のリリースされたノートでは、次のようなその他の重要な機能も強調されています。

  • プログラムがクラッシュしたり、無効な回答を返したりする原因となる入力を特定するための、ファジング ベースのテストを作成するための組み込みサポート。この機能は Go 1.18 で実験的です。
  • 開発者が複数の Go モジュールを同時に操作できるようにする Go ワークスペース モード。より大規模なプロジェクトに不可欠です。
  • コンパイラ フラグなどのビルドの詳細を記録する拡張された go version -m コマンド。
  • ユーザーが AMD64 アーキテクチャの 4 つのバージョンから選択できるようにする GOAMD64 環境変数。
  • Apple M1、ARM64、および PowerPC64 の CPU パフォーマンスが 20% も向上しました。これは、Go 1.17 レジスタ ABI 呼び出し規則がこれらのアーキテクチャに拡張されたことに起因します。
  • Windows/Arm および Windows/Arm64 ポートは非協調プリエンプションをサポートするようになり、この機能を 4 つの Windows ポートすべてで利用できるようになり、長時間ブロックする Win32 関数を呼び出すときに発生する微妙なバグに対処できる可能性があります。
  • ガベージ コレクションの実行頻度を決定するときにこれらのソースが含まれるため、GC 作業のヒープ以外のソースが重要な場合のガベージ コレクションのオーバーヘッドがより予測可能になります。

Go 1.17 が 8 月にリリースされました。 Go は、Docker コンテナー システムの開発での使用で最もよく知られており、同時実行を強力にサポートする、シンプルで習得しやすいプログラミング言語になるように設計されています。 AppMasterのプラットフォームなどのno-codeソリューションを検討して、Web、モバイル、およびバックエンド アプリケーションを作成したい開発者にとって、技術的負債を排除しながらアプリケーション開発をスピードアップし、コストを削減するのに役立ちます。

関連記事

BubbleCon 2024 の AppMaster: ノーコードトレンドを探る
BubbleCon 2024 の AppMaster: ノーコードトレンドを探る
AppMaster はニューヨークで開催された BubbleCon 2024 に参加し、洞察を獲得し、ネットワークを拡大し、ノーコード開発分野でイノベーションを推進する機会を模索しました。
FFDC 2024 総括: ニューヨークで開催された FlutterFlow 開発者会議から得られた重要な洞察
FFDC 2024 総括: ニューヨークで開催された FlutterFlow 開発者会議から得られた重要な洞察
FFDC 2024 はニューヨークで開催され、開発者に FlutterFlow を使用したアプリ開発に関する最先端の知見をもたらしました。専門家主導のセッション、独占的な最新情報、比類のないネットワーキングなど、見逃せないイベントでした。
2024 年のテクノロジー業界のレイオフ: イノベーションに影響を与える継続的な波
2024 年のテクノロジー業界のレイオフ: イノベーションに影響を与える継続的な波
テスラやアマゾンなどの大企業を含む254社で6万人の雇用が削減され、2024年にはテクノロジー業界のレイオフの波が続き、イノベーションの状況が一変するだろう。
無料で始めましょう
これを自分で試してみませんか?

AppMaster の能力を理解する最善の方法は、自分の目で確かめることです。無料サブスクリプションで数分で独自のアプリケーションを作成

あなたのアイデアを生き生きとさせる