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