待望のGo 1.19 アップデートは8月にリリースされる予定で、メモリモデルの改訂やアトミック値の利用を改善するために設計された新しい型が導入されます。現在プレビュー中のGo 1.19 はgo.dev からダウンロードできますが、現時点ではまだ不安定な状態です。リリースノートによると、Go 1.19 のアップデートでは、言語のメモリモデルを C、C++、Java、JavaScript、Rust、および Swift で使用されているものに合わせます。また、sync/atomicパッケージには、atomic.Int64やatomic.Pointer(T)など、アトミック値の使用を簡素化するための新しい型がいくつか導入されています。Go メモリモデルは、あるゴルーチン変数の読み出しが、別のゴルーチンから同じ変数への書き込みによって生成された値を観察することを保証する条件を指定するために不可欠である。注目すべきは、Go 、他の言語が提供するより緩やかな形式とは異なり、逐次的に一貫したアトミックのみを提供することである。メモリモデルの変更に加え、Go 1.19 、メソッド宣言における型パラメーターのスコープを修正するという、言語のマイナーチェンジが行われました。このアップデートは、既存のプログラムに影響を与えることはありません。Go 1.19 は、3月に発売されたGo 1.18 のマイルストーンに続くリリースで、多くの人が求めていたジェネリック機能を導入しました。Go 1.19 では、その他にも以下のようないくつかの新機能や機能強化がなされています:
- ソフトメモリ制限のランタイムサポート。これは、Go ヒープとランタイムが管理するメモリを包含し、バイナリマッピングや他の言語が管理するメモリのような外部ソースは除外されます。
- アプリケーションの大部分がアイドル状態である定期的なGCサイクルの間、アイドル状態のOSスレッドにおけるGCワーカールーチンのスケジューラ割り当てを削減。
- コンパイラによる大規模な整数および文字列のswitch文に対するジャンプテーブルの実装により、最大20%の性能向上を実現。
- docコメントでサポートされる、より明確な見出し、リンク、リスト。
- go:build行で、ビルド制約であるunixを認識するようにしました。
- Loongsonの64ビットLoongArchアーキテクチャをLinuxでサポートしました。
no-code プラットフォームを使用してウェブ、モバイル、バックエンドアプリケーションを構築しようとする開発者のために、AppMaster.ioは、コードを必要とせずにスケーラブルなソフトウェアソリューションを生成する、広範囲で統合された開発環境を提供します。数秒のうちに包括的なアプリケーションを作成できるAppMaster.ioは、中小企業から企業まで、幅広いお客様に理想的です。