Go 語言之父:不要在 Go 1.18 的標(biāo)準(zhǔn)庫中使用泛型
Go 語言之父 Rob Pike 近日在 Go 代碼倉庫提交了一個(gè) issue ( #48918 ),建議不要改動(dòng) Go 1.18 中的標(biāo)準(zhǔn)庫,不要在 1.18 的標(biāo)準(zhǔn)庫中使用泛型。
Rob 指出,在標(biāo)準(zhǔn)庫中使用泛型需要深思熟慮和規(guī)劃。如果現(xiàn)在就將泛型應(yīng)用到標(biāo)準(zhǔn)庫,那么會(huì)為發(fā)布版本增加很大的負(fù)擔(dān)。因此他建議不要更新 Go 1.18 的標(biāo)準(zhǔn)庫。
對此,Rob 給出的理由是,如果在 1.18 版本中就更新標(biāo)準(zhǔn)庫,那么團(tuán)隊(duì)的工作量會(huì)非常大,很容易導(dǎo)致出錯(cuò)。泛型是 Go 誕生以來最大的一次語言變化,但 Go 核心開發(fā)團(tuán)隊(duì)也沒有使用新泛型的經(jīng)驗(yàn),無法為標(biāo)準(zhǔn)庫的更新提供有力的案例。
另外,他們還承諾過要保證 Go 1 的全系列兼容性,因此試錯(cuò)成本也非常高。Rob 建議團(tuán)隊(duì)?wèi)?yīng)該繼續(xù)等待、觀察和學(xué)習(xí)。
Rob 表示,關(guān)于標(biāo)準(zhǔn)庫的試驗(yàn)會(huì)在 golang/x/exp 倉庫中進(jìn)行,只有通過測試才會(huì)進(jìn)入主倉庫。
最后,Rob 說道:“我知道每個(gè)人都想體驗(yàn)新語言特性的樂趣,并期待修復(fù)核心庫中的一些問題,但我堅(jiān)信現(xiàn)在最好慢慢地穩(wěn)步前進(jìn),謹(jǐn)慎使用、學(xué)習(xí)、研究和推進(jìn)。”