Go プログラミング言語 1.14 のリリース

から提出された プログラミング言語のリリース Go 1.14は、コンパイル言語の高いパフォーマンスと、コードの記述の容易さ、開発速度、エラー保護などのスクリプト言語の利点を組み合わせたハイブリッド ソリューションとして、Google によってコミュニティの参加を得て開発されています。 プロジェクトコード によって配布 BSD ライセンスに基づいて。

Go の構文は、Python 言語から一部借用した、使い慣れた C 言語の要素に基づいています。 言語は非常に簡潔ですが、コードは読みやすく、理解しやすいです。 Go コードは、仮想マシンを使用せずにネイティブに実行されるスタンドアロンのバイナリ実行可能ファイルにコンパイルされます (プロファイリング、デバッグ、およびその他のランタイム問題検出サブシステムは、 ランタイムコンポーネント)、C プログラムと同等のパフォーマンスを実現できます。

このプロジェクトは当初、マルチスレッド プログラミングとマルチコア システムでの効率的な操作を目的として開発されており、これには並列コンピューティングと並列実行メソッド間の相互作用を組織化するためのオペレーター レベルの手段の提供が含まれます。 この言語には、過剰に割り当てられたメモリ ブロックに対する保護機能も組み込まれており、ガベージ コレクターを使用する機能も提供されます。

メイン イノベーションGo 1.14 リリースで導入されました。

  • 「go」コマンドの新しいモジュール システムは、一般に使用できるように宣言されており、デフォルトで有効になっており、GOPATH の代わりに依存関係の管理に推奨されています。 新しいモジュール システムは、統合されたバージョン管理サポート、パッケージ配信機能、および改善された依存関係管理を特徴としています。 モジュールを使用すると、開発者は GOPATH ツリー内での作業に縛られなくなり、バージョン管理された依存関係を明示的に定義し、反復可能なビルドを作成できるようになります。
  • 追加した 重複するメソッドのセットを使用した埋め込みインターフェイスのサポート。 組み込みインターフェイスのメソッドは、既存のインターフェイスのメソッドと同じ名前とシグネチャを持つことができるようになりました。 明示的に宣言されたメソッドは、以前と同様に一意のままです。
  • 「defer」式のパフォーマンスが向上し、遅延関数を直接呼び出すのとほぼ同じ速度になり、パフォーマンス重視のコードで遅延関数を実行できるようになりました。
  • コルーチン (ゴルーチン) の非同期プリエンプションが提供されています。関数呼び出しを含まないループにより、スケジューラーのデッドロックが発生したり、ガベージ コレクションの開始が遅延したりする可能性があります。
  • メモリ ページ割り当てシステムの効率が向上し、GOMAXPROCS 値が大きい構成でのロック競合が大幅に減少しました。 その結果、レイテンシが短縮され、スループットが向上すると同時に、大きなメモリ ブロックが集中的に分散されます。
  • ロックが最適化され、time.After、time.Tick、net.Conn.SetDeadline 関数で使用される内部タイマーを実行する際のコンテキスト スイッチの数が削減されました。
  • go コマンドでは、特定のベンダーに関連付けられた外部依存関係を配信することを目的とした、ルートにベンダー ディレクトリがある場合、「-mod=vendor」フラグがデフォルトで有効になります。 「vendor」ディレクトリからではなくモジュール キャッシュからモジュールをロードするための別の「-mod=mod」フラグを追加しました。 go.mod ファイルが読み取り専用の場合、最上位の「vendor」ディレクトリがない場合は、デフォルトで「-mod=readonly」フラグが設定されます。 モジュールのルート ディレクトリにあるファイルの代わりに代替の go.mod ファイルを指定するための「-modfile=file」フラグを追加しました。
  • GOINSECURE 環境変数が追加されました。設定すると、go コマンドは HTTPS の使用を必要とせず、モジュールを直接ロードするときに証明書のチェックをスキップします。
  • コンパイラは、unsafe.Pointer を安全に使用するためのルールにコードが準拠しているかどうかをチェックするために、デフォルトで有効になる「-d=checkptr」フラグを追加しました。
  • 新しいパッケージが配送に含まれています ハッシュ/マファッシュ 非暗号化ハッシュ関数を使用して、任意のバイト シーケンスまたは文字列のハッシュ テーブルを作成します。
  • Linux 上の 64 ビット RISC-V プラットフォームの実験的サポートが追加されました。
  • 64 ビット ARM システムでの FreeBSD のサポートが追加されました。

出所: オープンネット.ru

コメントを追加します