Go 部落格

Go 1.21 已發行!

Eli Bendersky,代表 Go 團隊
2023 年 8 月 8 日

今天,Go 團隊很榮幸地宣布推出 Go 1.21,您可前往 下載頁面取得相關資訊。

Go 1.21 加入許多新功能和改善。以下是其中一些顯著變更;想要完整清單,請參閱 版本說明

工具改善

語言變更

Standard 函式庫新增功能

  • 新的 log/slog 套件用於結構化記錄。
  • 新的 slices 套件用於針對任何元素類型分割區段的常見操作。這包括比 sort 套件快且更符合人體工學的分類功能。
  • 新的 maps 套件用於針對任何金鑰或元素類型的映射進行常見操作。
  • 新的 cmp 套件,提供新的公用程式來比對已排序的值。

效能提升

除了啟用 PGO 時的效能提升之外

  • Go 編譯器本身已針對 1.21 進行重建並啟用 PGO,因此建立 Go 程式時依主機架構而定,速度會快 2-4%。
  • 由於調整垃圾收集器,某些應用程式的尾部延遲可能會減少多達 40%。
  • 現在,使用 runtime/trace 收集追蹤在 amd64 和 arm64 上產生的 CPU 成本大幅降低。

新的 WASI 埠

Go 1.21 新增一個用於 WebAssembly 系統介面 (WASI) 第 1 個預覽版的實驗性埠 (GOOS=wasip1GOARCH=wasm)。

為了方便撰寫更通用的 WebAssembly (Wasm) 程式碼,編譯器還支援匯入 Wasm 主機功能的新指令:go:wasmimport


感謝所有透過寫程式碼、提交錯誤、分享回饋和測試候選版本來貢獻此版本的每個人。你的努力有助於確保 Go 1.21 儘可能穩定。如果你發現任何問題,請務必一如往常地 提交問題

盡情享受 Go 1.21!

下一篇文章: 向後相容性、Go 1.21 和 Go 2
上一篇文章: 專案範本實驗
Blog 目錄