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




























