RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Go語言創(chuàng)始人反對在Go 1.18的標(biāo)準(zhǔn)庫中引入泛型支持

馬哥Linux運(yùn)維 ? 來源:SegmentFault思否社區(qū) ? 作者:SegmentFault ? 2021-10-26 09:45 ? 次閱讀

近日,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ù):

其一,是因?yàn)楦膭臃秶^大,可能會出現(xiàn)差錯。Rob 表示,Go 語言 1.18 版本很可能包括自創(chuàng)建以來對語言的最大變化——參數(shù)多態(tài)性,俗稱泛型。

盡管語言的變化已經(jīng)以某種形式進(jìn)行了十多年,但是庫的變化是非常新的,且暫時沒有設(shè)計使用新類型的經(jīng)驗(yàn)和依據(jù)。當(dāng)然,多年來 Go 語言團(tuán)隊(duì)已經(jīng)對此做了很多工作。

關(guān)于核心庫將如何適應(yīng)等議題,目前也已經(jīng)有很多討論(例如請參見#45955和#48594,還有其他的,而且肯定會很快出現(xiàn)。)

其二,是缺乏實(shí)戰(zhàn)經(jīng)驗(yàn)。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)入主倉庫。也就是說,有了一、兩個版本的實(shí)際使用,且積累了足夠的經(jīng)驗(yàn)之后,再考慮更新標(biāo)準(zhǔn)庫也不遲。

另外,由于泛型的兼容性承諾使得任何細(xì)節(jié)出錯的成本相當(dāng)高,Rob 團(tuán)隊(duì)先等待、觀察和學(xué)習(xí)。

7a131dce-3581-11ec-82a8-dac502259ad0.png

因此,Rob 建議暫時不要在 Go 1.18 修改標(biāo)準(zhǔn)庫??梢岳^續(xù)為切片、貼圖、通道等設(shè)計、構(gòu)建、測試和使用新的庫,先在 golang.org/x 或 golang.org/exp 提供相關(guān)庫的泛型版本。

最后,Rob 忠告稱:“我意識到每個人都想從新的語言功能中獲得樂趣,并期待著解決核心庫中的一些問題,這些問題一旦出現(xiàn)就會變得不那么笨拙,但我堅(jiān)信,現(xiàn)在最好放慢速度。謹(jǐn)慎使用、學(xué)習(xí)、學(xué)習(xí)和行動?!?/p>

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4779

    瀏覽量

    68521
  • go語言
    +關(guān)注

    關(guān)注

    1

    文章

    158

    瀏覽量

    9047

原文標(biāo)題:Go 語言創(chuàng)始人反對在 Go 1.18 標(biāo)準(zhǔn)庫中引入泛型支持

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    在學(xué)習(xí)go語言的過程踩過的坑

    作為一個5年的phper,這兩年公司和個人都在順應(yīng)技術(shù)趨勢,新項(xiàng)目慢慢從php轉(zhuǎn)向了go語言,從2021年到現(xiàn)在,筆者手上也先后開發(fā)了兩個go項(xiàng)目。在學(xué)習(xí)go
    的頭像 發(fā)表于 11-11 09:22 ?158次閱讀

    go語言如何解決并發(fā)問題

    作為一個后端開發(fā),日常工作接觸最多的兩門語言就是PHP和GO了。無可否認(rèn),PHP確實(shí)是最好的語言(手動狗頭哈哈),寫起來真的很舒爽,沒有任何心智負(fù)擔(dān),字符串和整型壓根就不用區(qū)分,開發(fā)
    的頭像 發(fā)表于 10-23 13:38 ?133次閱讀
    <b class='flag-5'>go</b><b class='flag-5'>語言</b>如何解決并發(fā)問題

    三十分鐘入門基礎(chǔ)Go Java小子版

    前言 Go語言定義 Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)、強(qiáng)類型、編譯
    的頭像 發(fā)表于 08-12 14:32 ?721次閱讀
    三十分鐘入門基礎(chǔ)<b class='flag-5'>Go</b> Java小子版

    ASML創(chuàng)始人離世!

    創(chuàng)始人之一,1987年至1990年期間擔(dān)任首席執(zhí)行官,當(dāng)時ASML正在努力爭取第一個客戶。 退休后,Wim 仍是 ASML 和高科技行業(yè)的真正大使。他激勵了許多后輩。我們感謝 Wim 對 ASML
    的頭像 發(fā)表于 06-13 09:10 ?280次閱讀

    請問STVP+COSMIC環(huán)境下的go to definition怎么用?

    STVP+COSMIC環(huán)境下的go to definition怎么用? 我現(xiàn)在go to definition一個宏定義的時候有效果,但是函數(shù)什么的沒用,是怎么回事呢,是不是工程里面沒有設(shè)置好,求大家?guī)蛶兔Γ?/div>
    發(fā)表于 05-11 06:11

    關(guān)于go接口類型的表示方法

    go是一個靜態(tài)性語言,每個變量都有靜態(tài)的類型,因此每個變量在編譯階段中有明確的變量類型,比如像:int、float32、MyType。
    的頭像 發(fā)表于 04-28 10:13 ?363次閱讀

    Go語言中的函數(shù)、方法與接口詳解

    Go 沒有類,不過可以為結(jié)構(gòu)體類型定義方法。方法就是一類帶特殊的接收者參數(shù)的函數(shù)。方法接收者它自己的參數(shù)列表內(nèi),位于 func 關(guān)鍵字和方法名之間。(非結(jié)構(gòu)體類型也可以定義方法)
    的頭像 發(fā)表于 04-23 16:21 ?820次閱讀

    鴻蒙語言TypeScript學(xué)習(xí)第18天:【

    (Generics)是一種編程語言特性,允許定義函數(shù)、類、接口等時使用占位符來表示類型,而不是具體的類型。
    的頭像 發(fā)表于 04-16 14:56 ?368次閱讀
    鴻蒙<b class='flag-5'>語言</b>TypeScript學(xué)習(xí)第18天:【<b class='flag-5'>泛</b><b class='flag-5'>型</b>】

    學(xué)習(xí)筆記|如何用Go程序采集溫濕度傳感器數(shù)據(jù)

    共創(chuàng)社內(nèi)部的交流,先前有一位成員展示了如何借助C語言來實(shí)現(xiàn)對AHT20溫濕度傳感器數(shù)據(jù)的讀取。這一實(shí)例觸發(fā)了另一位共創(chuàng)官的靈感,他決定采納Go
    的頭像 發(fā)表于 03-21 11:46 ?698次閱讀
    學(xué)習(xí)筆記|如何用<b class='flag-5'>Go</b>程序采集溫濕度傳感器數(shù)據(jù)

    一加創(chuàng)始人內(nèi)部講話曝光 劉作虎稱AI手機(jī)不是噱頭

    一加創(chuàng)始人內(nèi)部講話曝光 劉作虎稱AI手機(jī)不是噱頭 AI已經(jīng)改革千行萬業(yè),我們看到一加創(chuàng)始人內(nèi)部講話曝光中就提到AI手機(jī);一加創(chuàng)始人劉作虎在內(nèi)部講話中表示,AI手機(jī)不是噱頭,而是行業(yè)大
    的頭像 發(fā)表于 03-12 15:39 ?895次閱讀

    什么是pipeline?Go構(gòu)建流數(shù)據(jù)pipeline的技術(shù)

    本文介紹了 Go 構(gòu)建流數(shù)據(jù)pipeline的技術(shù)。 處理此類pipeline的故障很棘手,因?yàn)閜ipeline的每個階段可能會阻止
    的頭像 發(fā)表于 03-11 10:16 ?600次閱讀

    CYT4BF從Deepsleep轉(zhuǎn)換到Active時,POWER_DRILL2GO的穩(wěn)定時間是多少?

    我想知道 CYT4BF 從 DeepSleep 轉(zhuǎn)換到 Active 時核心POWER_DRILL2GO穩(wěn)定時間。 我根據(jù)數(shù)據(jù)表的時鐘檢查了POWER_DRILL2GO模式轉(zhuǎn)換時間
    發(fā)表于 03-06 07:58

    Arduino IDE是否有與Xmc2Go兼容的LoRaWAN?

    到 TTN。 我嘗試了幾個,看看它們是否可能與Xmc2Go兼容,但是無濟(jì)于事。 以下我的測試不起作用: -Beelan-Lorawa
    發(fā)表于 02-27 06:05

    MiniProg4POWER_DRILL2GO周期后失去與PC的連接的原因?

    再次檢索它。 發(fā)生這種情況時,編程器甚至沒有顯示 CYPRESS? 編程器,并且插拔編程器也無濟(jì)于事。 我的 Python 代碼,我
    發(fā)表于 01-19 07:55

    Go配置TM 軟件中心用戶指南

    電子發(fā)燒友網(wǎng)站提供《Go配置TM 軟件中心用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-03 09:48 ?0次下載
    <b class='flag-5'>Go</b>配置TM 軟件中心用戶指南
    RM新时代网站-首页