Go1.18 Beta1 發布:泛型版真的來了
大家好,我是程序員幽鬼。
剛剛,Go 發布了 Go1.18 Beta1 版本,Russ Cox 專門發布了一篇博文簡單介紹:https://go.dev/blog/go1.18beta1,跟往常一樣,可以通過以下方式安裝試用。當然,也可以按你喜歡的方式安裝。
Go1.18beta1
按計劃,Go1.18 會在 2022 年 2 月份正式發布。Beta1 是第一個預覽版本,官方期待大家進行試用、測試,反饋遇到的問題,畢竟這是 Go1 以來,語言層面改動最大的一次。
針對泛型,官方出了一個簡明教程:https://go.dev/doc/tutorial/generics,go.dev/play 也可以試驗泛型版本。
另外,interface{} 目前基本被替換為 any 了:https://github.com/golang/go/commit/2580d0e08d5e9f979b943758d3c49877fb2324cb
interface->any
除了泛型,Go1.18 還內置支持 Fuzz-Beta:https://go.dev/blog/fuzz-beta,以自動查找導致程序崩潰或返回無效輸出的輸入。
還有一個重大變更是新增了「工作區模式」,它允許同時使用多個 Go 模塊,這是大型項目大概率需要用到的。
Go1.17 增加了一個新的基于寄存器的函數調用規約,以提升 x86-64 系統上的 Go 速度。Go 1.18 Beta 1 將該功能擴展到 ARM64 和 PPC64,速度提升了 20%。
關于 Go1.18 完整變更說明,可以查看發行說明:https://tip.golang.org/doc/go1.18。
本文轉載自微信公眾號「幽鬼」,可以通過以下二維碼關注。轉載本文請聯系幽鬼公眾號。