Go 1.18 正式釋出!

六一發表於2022-03-19

美國時間 2022 年 3 月 15 日,Go 團隊官宣 Go 1.18 正式釋出!

Go 團隊表示:Go 1.18 是一個包含大量新功能的版本,包括對語言本身做了有史以來最大的改變(泛型)、工具鏈的實現、執行時和庫的更改,還改善了效能。毫不誇張地說,Go 1.18 的部分設計十多年前,在第一次釋出 Go 時就開始了構思。

下面讓我們來快速預覽一下這些最新特性:

泛型(Generics)

Go 1.18 引入了對使用引數化型別的泛型程式碼的新支援。支援泛型是 Go 最常被要求新增的功能,後續版本將繼續為一些更復雜的泛型用例提供額外支援。

Go 鼓勵使用者使用泛型教程來了解這一新功能,並探索使用泛型來優化和簡化使用者的程式碼的最佳方法。

泛型教程連結:https://go.dev/doc/tutorial/g...

在 Go 1.18 版本釋出說明中有更多使用泛型的細節。

模糊測試(Fuzzing)

隨著 Go 1.18 版本的釋出,Go 成為第一個將模糊測試完全整合到其標準工具鏈中的主要語言。與泛型一樣,模糊測試已經設計了很長時間。

請結合 Fuzzing 教程開始使用此新功能。

模糊測試教程連結:https://go.dev/doc/tutorial/fuzz

工作區(Workspaces)

如今 Go 模組幾乎已被普遍採用,在 Go 年度調查中,使用者表達了非常高的滿意度。在2021 年使用者調查中,使用者反饋 Go 模組最常見的挑戰是跨多個模組工作。

在 Go 1.18 中,通過使用新的 Go 工作區模式解決了這個問題,這使得在多個模組中工作變得簡單。

工作區教程連結: https://go.dev/doc/tutorial/w...

20% 的效能提升

蘋果 M1、ARM64 和 PowerPC64 使用者肯定會高興!由於 Go 1.17 的暫存器 ABI 呼叫約定擴充套件到這些架構,Go 1.18 的 CPU 效能提升幅度高達 20%。

為了強調這個版本的效能提升幅度有多大,Go 甚至把 20% 的效能提升作為第四個最重要的標題!

更多有關 Go 1.18 的詳細內容說明,請檢視:https://go.dev/doc/go1.18

下載連結:https://go.dev/dl/

相關文章