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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

近日,Go 語言創(chuàng)始人之一 Rob Pike 在 Github 上發(fā)表評論引發(fā)關注。據悉,他已在 Go 代碼倉庫提交了一個 issue (#48918),反對在 Go 1.18 的標準庫中引入泛型支持,建議不要改動 Go 1.18 中的標準庫。

Rob 提出以上建議主要有兩個依據:

其一,是因為改動范圍過大,可能會出現差錯。Rob 表示,Go 語言 1.18 版本很可能包括自創(chuàng)建以來對語言的最大變化——參數多態(tài)性,俗稱泛型。

盡管語言的變化已經以某種形式進行了十多年,但是庫的變化是非常新的,且暫時沒有設計使用新類型的經驗和依據。當然,多年來 Go 語言團隊已經對此做了很多工作。

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

其二,是缺乏實戰(zhàn)經驗。Rob 指出,如何在標準庫中使用這些泛型是需要深思熟慮計劃的。如果現在將它們放入庫中,會給發(fā)布增加了很大的負擔。

可以在生產中進行測試,在一兩個周期內進行更改、調整和發(fā)展,讓整個社區(qū)試用,只有通過測試,才會將它們轉移到主回購協(xié)議中進入主倉庫。也就是說,有了一、兩個版本的實際使用,且積累了足夠的經驗之后,再考慮更新標準庫也不遲。

另外,由于泛型的兼容性承諾使得任何細節(jié)出錯的成本相當高,Rob 團隊先等待、觀察和學習。

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

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

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

編輯:jq

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

    關注

    30

    文章

    4791

    瀏覽量

    68694
  • go語言
    +關注

    關注

    1

    文章

    158

    瀏覽量

    9050

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

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    在學習go語言的過程踩過的坑

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

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

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

    三十分鐘入門基礎Go Java小子版

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

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

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

    亞馬遜創(chuàng)始人重回世界首富

    近日,亞馬遜創(chuàng)始人杰夫·貝索斯全球富豪500強排名再次登頂,成功取代法國奢侈品巨頭LVMH的老板伯納德·阿爾諾,重新奪回首富的寶座。
    的頭像 發(fā)表于 06-12 17:24 ?733次閱讀

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

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

    關于go接口類型的表示方法

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

    Go語言中的函數、方法與接口詳解

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

    鴻蒙語言TypeScript學習第18天:【

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

    學習筆記|如何用Go程序采集溫濕度傳感器數據

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

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

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

    什么是pipeline?Go構建流數據pipeline的技術

    本文介紹了 Go 構建流數據pipeline的技術。 處理此類pipeline的故障很棘手,因為pipeline的每個階段可能會阻止
    的頭像 發(fā)表于 03-11 10:16 ?624次閱讀

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

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

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

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

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

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