Go 部落格

Go 1.18 釋出了!

Go 團隊
2022 年 3 月 15 日

今天,Go 團隊很高興釋出 Go 1.18,您可以透過訪問 下載頁面 獲取。

Go 1.18 是一個重大的釋出,它包含了新功能、效能改進,以及我們有史以來對語言的最大改動。毫不誇張地說,Go 1.18 部分設計的初衷可以追溯到十多年前我們首次釋出 Go 的時候。

泛型

在 Go 1.18 中,我們引入了對使用引數化型別的泛型程式碼的新支援。支援泛型一直是 Go 最常被請求的功能,我們很自豪能夠提供大多數使用者今天所需的泛型支援。後續版本將為一些更復雜的泛型用例提供額外的支援。我們鼓勵您透過我們的泛型教程來了解這項新功能,並探索今天使用泛型來最佳化和簡化程式碼的最佳方法。釋出說明中提供了更多關於在 Go 1.18 中使用泛型的詳細資訊。

模糊測試

藉助 Go 1.18,Go 成為第一個將模糊測試(fuzzing)完全整合到其標準工具鏈中的主流語言。與泛型一樣,模糊測試也經過了長期的設計,我們很高興在此次釋出中將其與 Go 生態系統分享。請檢視我們的模糊測試教程,幫助您開始使用這項新功能。

工作區

Go Modules 已被幾乎普遍採用,Go 使用者在我們的年度調查中報告了非常高的滿意度。在我們的 2021 年使用者調查中,使用者識別出的與 Modules 相關的最常見挑戰是跨多個 Modules 工作。在 Go 1.18 中,我們透過新的Go workspace 模式解決了這個問題,該模式可以輕鬆地處理多個 Modules。

效能提升 20%

Apple M1、ARM64 和 PowerPC64 使用者歡呼吧!Go 1.18 包含了高達 20% 的 CPU 效能提升,這得益於 Go 1.17 的暫存器 ABI 呼叫約定擴充套件到了這些架構。為了強調這次釋出的重大意義,20% 的效能提升是第四重要的頭條新聞!

有關 1.18 中所有內容的更詳細描述,請參閱釋出說明

Go 1.18 是整個 Go 社群的一個巨大里程碑。我們要感謝每一位提交 bug、傳送變更、撰寫教程或以任何方式幫助 Go 1.18 成真的 Go 使用者。沒有你們,我們無法做到。謝謝。

盡情享受 Go 1.18!

下一篇文章:泛型簡介
上一篇文章:宣佈 Go 1.18 Beta 2
部落格索引