Go 1.19 已經發布,這是它的新聞

最近 宣布發布新版本的編程語言«Go 1.19», 通過添加各種改進和最重要的錯誤修復來改進先前版本的版本。我們可以強調的新奇之處包括內存管理、安全性改進等方面的改進。

對於剛接觸 Go 的人來說,你應該知道,這是一種由社區參與開發的編程語言,作為一種混合解決方案,它結合了編譯語言的高性能和腳本語言等優點,例如易於編寫代碼、開發和錯誤保護。

Go 的語法基於 C 語言的常用元素。 從 Python 語言中藉用了一些東西。 該語言非常簡潔,但代碼易於閱讀和理解。

Go 代碼被編譯成單獨的二進制可執行文件 本機運行,無需使用虛擬機(分析、調試和其他運行時故障排除子系統作為運行時組件內置)。

Go 1.19的主要新功能

在展示的這個新版本的 Go 1.19 中,強調了 已經完成了改進對函數和泛型類型的支持的工作 在最新版本中添加,借助它,開發人員可以定義和使用旨在一次處理多種類型的函數,此外,一些使用泛型的程序的性能優化提高了 20%。

從新版本中脫穎而出的另一個變化是 添加了對鏈接、列表和更簡單語法的支持 在文檔註釋中定義標題。 gofmt 實用程序通過 API 文檔提供了具有高級註釋功能的格式。

除了它 修改了 Go 內存模型以與 C、C++、Java、JavaScript、Rust 和 Swift 保持一致 不允許順序一致的原子值。 在 sync/atomic 包中引入了 atomic.Int64 和 atomic.Pointer[T] 等新類型,以便更輕鬆地使用原子值。

另一方面,也有人提到 垃圾收集器現在可以定義軟限制,這是通過限制堆的大小和更積極地向系統返回內存來強制執行的,也就是說,不能保證在所有條件下消耗都在指定的限制範圍內。 軟限制可用於優化在固定內存容器中運行的程序。

還強調了 在 Unix 系統上,自動啟用附加文件描述符 (增加 RLIMIT_NOFILE 限制),為了加速 x86-64 和 ARM64 系統上的大變化表達式,使用了跳轉表,它允許大變化表達式的處理速度提高 20%。

在 riscv64 系統上,實現了通過 CPU 寄存器傳遞函數參數,這使得性能提高了 10% 左右。

其他變化 從這個新版本中脫穎而出:

  • 已經實施了許多性能優化。
  • 添加了對動態設置例程堆棧大小的支持,以減少複製數據的大小
  • 在具有基於 64 位 LoongArch 架構 (GOARCH=loong64) 的龍芯處理器的系統上添加了對 Linux 環境的實驗性支持。
  • 更改內存模型不會影響與以前編寫的代碼的兼容性。
  • 添加了一個新的“unix”構建限制,可以在“go:build”行中使用,以過濾掉類 Unix 系統(aix、android、darwin、dragonfly、freebsd、hurd、illumos、ios、linux、netbsd、openbsd、solaris )。
  • 為了提高安全性,os/exec 模塊現在在擴展 PATH 環境變量時會忽略相對路徑(例如,在確定可執行文件的路徑時,不再檢查當前目錄)。

最後,如果您有興趣了解有關此新版本的更多信息,可以在以下位置查看詳細信息 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。