Golang: バージョン 1.19 の改良点

Golang: バージョン 1.19 の改良点

  • 2022.8.8日
  • 著作権に関する声明: この記事はブロガー chszs のオリジナル記事であり、ブロガーの許可なく複製することはできません。

Google の Go (Golang) プログラミング言語の最新バージョンである Go 1.19 が一般公開されました。このバージョン更新では、最近追加されたジェネリックスが改善され、強化されたメモリ モデルが導入されています。

数日前 (8 月 2 日) にリリースされた Go 1.19 では、ジェネリック開発は、パフォーマンスの向上 (一部のジェネリック プログラムでは最大 20%) だけでなく、コミュニティによって報告された微妙な問題や例外的なケースに対処することに重点を置きました。

同時に、Go メモリ モデルは同期/アトミック パッケージの動作を明確に定義し、同期アルゴリズムを実装するための低レベルのアトミック メモリ プリミティブを提供します。以前に関連した正式な定義は、C、C++、Java、JavaScript、Rust、および Swift で使用されるメモリ モデルに合わせて改訂されました。既存のプログラムは影響を受けません。メモリ モデルの更新に加えて、atomic.int64 や atomic.Pointer(T) などの新しい型が sync/atomic パッケージに追加され、アトミック値の操作が容易になりました。

Golang は中国向けに別のダウンロード ポイントを正式に追加しました。

ダウンロード サイトでは、Windows、macOS、Linux 用の Go 1.19 を提供しています。

Go 1.19 のその他の機能:

  1. ガベージ コレクターにソフト メモリ制限が追加されました。この制限は、専用のメモリ量を備えたコンテナーで Go プログラムを可能な限り効率的に実行するように最適化するのに役立ちます。
  2. パフォーマンスと実装の改善には、スタックの著作権を削減するためのコルーチン スタックの動的なサイズ、ほとんどの Unix システム、x86-64 および ARM64 での追加ファイル記述子の自動使用、大規模な switch ステートメント用のジャンプ テーブル、ARM64 での挿入された関数呼び出しのデバッガ サポートなどが含まれます。
  3. メソッド宣言の型パラメータに小さな修正を加えました。既存のプログラムは影響を受けません。
  4. ドキュメント コメントはリンク、リスト、見出しの構文をサポートするようになり、特に大規模な API を含むパッケージでユーザーがより明確なドキュメント コメントを作成できるようになりました。
  5. セキュリティのため、os/exec パッケージは PATH ルックアップで相対パスを考慮しなくなりました。
  6. ターゲット オペレーティング システムが Unix 系オペレーティング システムである場合に満たされる新しいビルド制約 UNIX。

おすすめ

転載: blog.csdn.net/chszs/article/details/126221183