Go 1.19 はすでにリリースされており、これらはそのニュースです

最近 プログラミング言語「Go 1.19」の新バージョンのリリースが発表されました, さまざまな改善と、とりわけバグ修正を追加することにより、以前のリリースを改善したバージョン. 強調できる目新しさの中には、メモリ管理の改善、セキュリティの改善などがあります.

Go を初めて使用する方は、これが、コンパイル済み言語の高いパフォーマンスとスクリプト言語などの利点を組み合わせたハイブリッド ソリューションとして、コミュニティの参加によって開発されたプログラミング言語であることを知っておく必要があります。コードの書きやすさ 開発とバグ保護。

Go の構文は、C 言語の通常の要素に基づいています。 Python 言語からのいくつかの借用があります。 言語は非常に簡潔ですが、コードは読みやすく理解しやすいものです。

Go コードは個別のバイナリ実行可能ファイルにコンパイルされます 仮想マシンを使用せずにネイティブに実行されます (プロファイリング、デバッグ、およびその他のランタイム トラブルシューティング サブシステムは、ランタイム コンポーネントとして組み込まれています)。

Go1.19の主な新機能

提示されたこの新しいバージョンの Go 1.19 では、次のことが強調されています。 関数とジェネリック型のサポートを改良する作業が行われました 最新バージョンで追加され、開発者が一度に複数の型で動作するように設計された関数を定義して使用できるようになり、ジェネリックを使用する一部のプログラムのパフォーマンスの最適化が 20% 向上しました。

新しいバージョンから際立っているもうXNUMXつの変更点は、 リンク、リスト、およびより単純な構文のサポートを追加 ドキュメント コメントのヘッダーを定義します。 gofmt ユーティリティは、API ドキュメントを念頭に置いたコメントの高度な機能を備えた書式設定を提供します。

それに加えて C、C++、Java、JavaScript、Rust、Swift に合わせて Go メモリ モデルを改訂 連続して一貫した原子値を認めません。 アトミック値の使用を容易にするために、atomic.Int64 や atomic.Pointer[T] などの新しい型が sync/atomic パッケージに導入されました。

一方で、 ガベージ コレクターにソフト リミットを定義する機能が追加されましたこれは、ヒープのサイズを制限し、より積極的にシステムにメモリを返すことによって強制されます。つまり、消費量がすべての条件下で指定された制限内にあるとは限りません。 ソフト リミットは、固定メモリ コンテナーで実行されるプログラムを最適化するのに役立ちます。

また、 Unix システムでは、追加のファイル記述子が自動的に有効になります (RLIMIT_NOFILE 制限を増やします)、x86-64 および ARM64 システムで大きな変更式を高速化するために、ジャンプ テーブルが使用されます。これにより、大きな変更式を最大 20% 高速に処理できます。

riscv64 システムでは、CPU レジスタを介した関数引数の受け渡しが実装され、約 10% のパフォーマンス向上が可能になりました。

その他の変更点 この新しいバージョンから際立っている:

  • 多くのパフォーマンスの最適化が実装されています。
  • ルーチン スタック サイズを動的に設定して、コピーされるデータのサイズを削減するためのサポートが追加されました
  • 64 ビット LoongArch アーキテクチャ (GOARCH=loong64) に基づく Loongson プロセッサを搭載したシステムでの Linux 環境の実験的サポートが追加されました。
  • メモリ モデルを変更しても、以前に記述されたコードとの互換性には影響しません。
  • Unix ライクなシステム (aix、android、darwin、dragonfly、freebsd、hurd、illumos、ios、linux、netbsd、openbsd、solaris) を除外するために「go:build」行で使用できる新しい「unix」ビルド制限を追加しました。 )。
  • セキュリティを向上させるために、os/exec モジュールは PATH 環境変数を展開するときに相対パスを無視するようになりました (たとえば、実行可能ファイルのパスを決定するときに、現在のディレクトリはチェックされなくなりました)。

最後に、この新しいリリースについて詳しく知りたい場合は、次の URL で詳細を確認できます。 次のリンク。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。