Go 部落格
具備泛型的 Go 1.18 Beta 1 現已推出
我們剛剛發佈 Go 1.18 Beta 1,您可以透過拜訪 下載頁面 取得這項更新。
Go 1.18 的正式版本預計會在幾個月後推出。這是 Go 1.18 的第一個預覽版本,讓您可以試用,並讓我們知道您遇到的問題。Go 1.18 Beta 1 代表了 Google 以及世界各地 Go 團隊和 Go 貢獻者的龐大工作量,我們很期待聽見您的想法。
Go 1.18 Beta 1 是第一個預覽版,其中包含 Go 對使用參數化類型的新支援,即 泛型程式碼。自 Go 1 發行以來,泛型是對 Go 進行最顯著的變更,當然也是我們迄今所做過最大規模的單一語言變更。對於任何大型新功能,新使用者發現新程式錯誤是很常見的事,我們預期泛型也不例外;請務必小心應對。此外,某些細微的情況,例如特定類型的遞迴泛型類型,已延後至未來的版本中。話雖如此,我們知道某些早期使用者非常滿意,如果您有自己認為特別適合泛型的使用情況,我們希望您能試用看看。我們已發布了 關於如何開始使用泛型的簡短教學課程,並在 上週的 GopherCon 上發表了演講。您甚至可以在 以 Go 開發分支模式在 Go 遊樂場上試用。
Go 1.18 Beta 1 加入內建支援來撰寫 基於模糊化測試,以自動找出導致您的程式發生異常終止或傳回無效答案的輸入。
Go 1.18 Beta 1 加入新的「Go 工作區模式」,讓您能同時使用多個 Go 模組,這對大型專案來說是很重要的使用情況。
Go 1.18 Beta 1 包含擴充的 go version -m
指令,現在會記錄建立詳細資料,例如編譯器標記。程式可以使用 debug.ReadBuildInfo 來查詢自己的建立詳細資料,現在它可以使用新的 debug/buildinfo 套件從其他二進位檔中讀取建立詳細資料。此功能是要做為任何工具製作 Go 二進位檔軟體組成清單 (SBOM) 的基礎。
今年稍早,Go 1.17 加入新的基於暫存器的呼叫慣例,以加速 x86-64 系統上的 Go 程式碼。Go 1.18 Beta 1 將該功能擴充至 ARM64 與 PPC64,效能提升幅度最高達 20%。
感謝所有對此 beta 版本做出貢獻的人員,特別是 Google 的團隊,他們多年來一直不懈地努力,使泛型成為現實。這是一條漫漫長路,我們對結果感到非常滿意,我們也希望您會喜歡。
如需更多詳細資料,請參閱 Go 1.18 完整草稿版本注意事項。
一直以來,特別是對於 beta 版本,如果您發現任何問題,請 提出問題。
我們希望您能好好測試這個 beta 版本,並祝您在 2021 年剩下的時間裡都能好好休息。佳節愉快!
下一篇:1.18 的兩個新教學課程
上一篇:Go 的 12 年
部落格索引