美國時間 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/