近日,Go 語言創(chuàng)始人之一 Rob Pike 在 Github 上發(fā)表評論引發(fā)關(guān)注。據(jù)悉,他已在 Go 代碼倉庫提交了一個 issue (#48918),反對在 Go 1.18 的標(biāo)準(zhǔn)庫中引入泛型支持,建議不要改動 Go 1.18 中的標(biāo)準(zhǔn)庫。
Rob 提出以上建議主要有兩個依據(jù):
其一,是因為改動范圍過大,可能會出現(xiàn)差錯。Rob 表示,Go 語言 1.18 版本很可能包括自創(chuàng)建以來對語言的最大變化——參數(shù)多態(tài)性,俗稱泛型。
盡管語言的變化已經(jīng)以某種形式進(jìn)行了十多年,但是庫的變化是非常新的,且暫時沒有設(shè)計使用新類型的經(jīng)驗和依據(jù)。當(dāng)然,多年來 Go 語言團(tuán)隊已經(jīng)對此做了很多工作。
關(guān)于核心庫將如何適應(yīng)等議題,目前也已經(jīng)有很多討論(例如請參見#45955和#48594,還有其他的,而且肯定會很快出現(xiàn)。)
其二,是缺乏實戰(zhàn)經(jīng)驗。Rob 指出,如何在標(biāo)準(zhǔn)庫中使用這些泛型是需要深思熟慮計劃的。如果現(xiàn)在將它們放入庫中,會給發(fā)布增加了很大的負(fù)擔(dān)。
可以在生產(chǎn)中進(jìn)行測試,在一兩個周期內(nèi)進(jìn)行更改、調(diào)整和發(fā)展,讓整個社區(qū)試用,只有通過測試,才會將它們轉(zhuǎn)移到主回購協(xié)議中進(jìn)入主倉庫。也就是說,有了一、兩個版本的實際使用,且積累了足夠的經(jīng)驗之后,再考慮更新標(biāo)準(zhǔn)庫也不遲。
另外,由于泛型的兼容性承諾使得任何細(xì)節(jié)出錯的成本相當(dāng)高,Rob 團(tuán)隊先等待、觀察和學(xué)習(xí)。
因此,Rob 建議暫時不要在 Go 1.18 修改標(biāo)準(zhǔn)庫??梢岳^續(xù)為切片、貼圖、通道等設(shè)計、構(gòu)建、測試和使用新的庫,先在 golang.org/x 或 golang.org/exp 提供相關(guān)庫的泛型版本。
最后,Rob 忠告稱:“我意識到每個人都想從新的語言功能中獲得樂趣,并期待著解決核心庫中的一些問題,這些問題一旦出現(xiàn)就會變得不那么笨拙,但我堅信,現(xiàn)在最好放慢速度。謹(jǐn)慎使用、學(xué)習(xí)、學(xué)習(xí)和行動?!?/p>
編輯:jq
-
代碼
+關(guān)注
關(guān)注
30文章
4838瀏覽量
69141 -
go語言
+關(guān)注
關(guān)注
1文章
158瀏覽量
9094
原文標(biāo)題:Go 語言創(chuàng)始人反對在 Go 1.18 標(biāo)準(zhǔn)庫中引入泛型支持
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
DeepSeek創(chuàng)始人的60條思考
![DeepSeek<b class='flag-5'>創(chuàng)始人</b>的60條思考](https://file.elecfans.com/web2/M00/3F/D6/poYBAGJqO-mASPG4AAAes7JY618194.jpg)
在學(xué)習(xí)go語言的過程踩過的坑
go語言如何解決并發(fā)問題
![<b class='flag-5'>go</b><b class='flag-5'>語言</b>如何解決并發(fā)問題](https://file1.elecfans.com/web2/M00/0A/04/wKgZomcYjBqACG7nAAAPq1sqxcQ121.png)
三十分鐘入門基礎(chǔ)Go Java小子版
![三十分鐘入門基礎(chǔ)<b class='flag-5'>Go</b> Java小子版](https://file1.elecfans.com//web2/M00/02/EE/wKgaoma5rIOAYKpLAAQ04GlurC8295.png)
ASML創(chuàng)始人逝世...
ASML創(chuàng)始人離世!
請問STVP+COSMIC環(huán)境下的go to definition怎么用?
關(guān)于go中接口類型的表示方法
Go語言中的函數(shù)、方法與接口詳解
學(xué)習(xí)筆記|如何用Go程序采集溫濕度傳感器數(shù)據(jù)
![學(xué)習(xí)筆記|如何用<b class='flag-5'>Go</b>程序采集溫濕度傳感器數(shù)據(jù)](https://file1.elecfans.com/web2/M00/C6/27/wKgaomX7rXuAQXiYAABkh0KgXto909.png)
評論