<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Go 之父 Rob 發(fā)話:Go 泛型步子不能邁太大

          共 1310字,需瀏覽 3分鐘

           ·

          2021-10-16 00:10

          早上看到 Go 創(chuàng)始人之一 Rob Pike 發(fā)了一個(gè) issue:go: don't change the libraries in 1.18[1]。有人發(fā)文說了這件事。然后立馬看到有人問:Go1.18 沒有泛型了?

          首先要明確,Go1.17 就包含了泛型的核心代碼,只是默認(rèn)不啟用,循序漸進(jìn)。

          那 Rob 這個(gè) issue 是什么意思?不貼原文了,說一下大概意思。

          Go1.18 版本,因?yàn)榉盒偷囊?,?huì)是該語言自創(chuàng)建以來變化最大的一次。語言層面支持泛型,但不少功能需要庫的支持。這有兩個(gè)層面的問題:

          • 已有庫如何更好的支持泛型;
          • 增加新庫讓泛型更好用;

          這兩方面,之前都有相關(guān) issue 討論,比如:proposal: bytes: add Grow, Clip; maybe add bytes/strings Insert, Delete[2]、增加 slices 和 maps 包等。

          這些是遲早要做的事情。不過 Rob Pike 認(rèn)為,如果這些事情都在 Go1.18 做,一下子加入太多東西,難免會(huì)有問題,甚至可能是庫的設(shè)計(jì)問題。引入新的庫,大家沒有任何使用經(jīng)驗(yàn),設(shè)計(jì)是否合理?但 Go 一直保證兼容性,如果處理不好,因?yàn)榧嫒菪?,處理起來?huì)很費(fèi)勁。

          因此,Rob 建議,應(yīng)該先將新庫放入 golang/x/exp 下面(之前就存在這個(gè) exp),方便大家進(jìn)行使用、體驗(yàn)、測(cè)試,然后反饋,Go Team 可以根據(jù)大家的反饋,進(jìn)行調(diào)整。一旦經(jīng)過一段時(shí)間的檢驗(yàn),更多人認(rèn)可了,再合入主倉庫。

          從該 issue 下面的評(píng)論看出,大家對(duì)這個(gè)決定還是很支持的。泛型來得晚,是因?yàn)?Go 官方很謹(jǐn)慎,一直在努力尋找更好的方案。現(xiàn)在終于要來了,也不能操之過急,最后階段得穩(wěn)住,平滑過渡。臨門一腳得踢穩(wěn)當(dāng)。

          應(yīng)該基本確定,Go 1.18 發(fā)布時(shí),標(biāo)準(zhǔn)庫不會(huì)有過大的變化。

          參考資料

          [1]

          go: don't change the libraries in 1.18: https://github.com/golang/go/issues/48918

          [2]

          proposal: bytes: add Grow, Clip; maybe add bytes/strings Insert, Delete: https://github.com/golang/go/issues/48594




          往期推薦


          我是 polarisxu,北大碩士畢業(yè),曾在 360 等知名互聯(lián)網(wǎng)公司工作,10多年技術(shù)研發(fā)與架構(gòu)經(jīng)驗(yàn)!2012 年接觸 Go 語言并創(chuàng)建了 Go 語言中文網(wǎng)!著有《Go語言編程之旅》、開源圖書《Go語言標(biāo)準(zhǔn)庫》等。


          堅(jiān)持輸出技術(shù)(包括 Go、Rust 等技術(shù))、職場(chǎng)心得和創(chuàng)業(yè)感悟!歡迎關(guān)注「polarisxu」一起成長(zhǎng)!也歡迎加我微信好友交流:gopherstudio

          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲黄色毛片电影院 | 一级a一级a爱片免费免免高潮按摩 | 高清一区视频 | 99久久久无码国产一区二区三区 | 一级A毛片视频破 |