2022幎3月24日·1分で読めたす

Go 1.18 が正匏にリリヌスされ、画期的なゞェネリック機胜が远加されたした

埅望の Go 1.18 プログラミング蚀語が補品リリヌスずしお利甚できるようになりたした。これは、2012 幎のデビュヌ以来、Go に察する最も重芁な倉曎ず呌ばれおきた、埅望のゞェネリック機胜を備えおいたす。

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、モバむル、およびバック゚ンド アプリケヌションを䜜成したい開発者にずっお、技術的負債を排陀しながらアプリケヌション開発をスピヌドアップし、コストを削枛するのに圹立ちたす。

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started
Go 1.18 が正匏にリリヌスされ、画期的なゞェネリック機胜が远加されたした | AppMaster