<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 語(yǔ)言增加泛型的提案

          共 1237字,需瀏覽 3分鐘

           ·

          2021-01-14 18:04

          原文地址:https://blog.golang.org/generics-proposal

          原文作者:Ian Lance Taylor

          本文永久鏈接:https://github.com/gocn/translator/blob/master/2021/w3_a_proposal_for_adding_generics_to_go.md

          譯者:cvley

          校對(duì):guzzsek

          泛型提案
          我們提出一個(gè)Go語(yǔ)言變更提案,用于讓類型系統(tǒng)和函數(shù)支持類型參數(shù),類型參數(shù)使通用編程模式成為可能。
          為什么支持泛型?

          泛型可以提供強(qiáng)大的構(gòu)建代碼塊,讓代碼共享和程序構(gòu)建更加簡(jiǎn)便。泛型編程意味著可以先實(shí)現(xiàn)功能和定義數(shù)據(jù)結(jié)構(gòu),而準(zhǔn)確的類型可以留到后面指定。比如,一個(gè)操作某些任意數(shù)據(jù)類型切片的函數(shù),當(dāng)函數(shù)被調(diào)用時(shí)才會(huì)指定實(shí)際的數(shù)據(jù)類型。或者,一個(gè)存儲(chǔ)任意類型的數(shù)據(jù)結(jié)構(gòu),當(dāng)創(chuàng)建這個(gè)數(shù)據(jù)結(jié)構(gòu)實(shí)例時(shí),才會(huì)指定實(shí)際存儲(chǔ)的類型。

          自從Go在2009年首次發(fā)布后,泛型的支持一直都是最常見(jiàn)的語(yǔ)言特性需求之一。在之前的博文中,你可以了解更多泛型有用的原因。

          盡管泛型有明確的使用場(chǎng)景,但將它融入到像Go一樣的語(yǔ)言中是非常困難的。在Go中首次(有缺陷的)添加泛型的嘗試可以追溯到2010年。在過(guò)去的十年中也有多次其他的嘗試。

          在過(guò)去的幾年中,我們?cè)谠O(shè)計(jì)草案上的一系列工作,最終形成了一個(gè)基于類型參數(shù)的設(shè)計(jì)方案。這份設(shè)計(jì)草案從Go編程社區(qū)博采眾長(zhǎng),很多朋友在之前博文中提到的泛型游樂(lè)場(chǎng)中進(jìn)行了體驗(yàn)。Ian Lance Taylor 在GopherCon 2019上的演講中介紹了添加泛型的原因和我們現(xiàn)在遵循的策略。Robert Griesemer在之后GopherCon 2020的演講中分享了設(shè)計(jì)上的變更和實(shí)現(xiàn)細(xì)節(jié)。語(yǔ)言的變更是完全后向兼容的,因此現(xiàn)有的Go程序?qū)⒗^續(xù)如現(xiàn)在一般正常運(yùn)行。我們認(rèn)為設(shè)計(jì)草案已經(jīng)足夠好也足夠簡(jiǎn)單,是時(shí)候提議將它加入到Go中了。


          現(xiàn)在的進(jìn)度是什么?

          語(yǔ)言變更提案流程是我們對(duì)Go語(yǔ)言進(jìn)行變更的方法?,F(xiàn)在我們已經(jīng)開(kāi)始了將泛型添加到Go的未來(lái)一個(gè)版本的流程。我們歡迎實(shí)質(zhì)性的批評(píng)和建議,但請(qǐng)避免重復(fù)之前的評(píng)論,也請(qǐng)避免簡(jiǎn)單的加一和減一的評(píng)論。相反,你可以在贊同或反對(duì)的評(píng)論或者整個(gè)提案下添加thumbs-up/thumbs-down emoji表情。

          和所有的語(yǔ)言變更提案一樣,我們的目標(biāo)是對(duì)加入泛型或終止這個(gè)提案達(dá)成共識(shí)。我們明白,這個(gè)量級(jí)的變更肯定無(wú)法讓Go社區(qū)的每個(gè)人都滿意,但我們期望可以達(dá)成所有人都能接受的決定。

          如果通過(guò)了這個(gè)提案,那么在今年底或者作為Go 1.18 beta版本的一部分,我們將提供一個(gè)完備但可能并未完全優(yōu)化的泛型實(shí)現(xiàn)供大家嘗鮮。







          瀏覽 104
          點(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>
                  国产无码高清在线 | 日韩无码免费高清 | 天堂在线资源网 | 日本黄色大片日本美女 | 黄片网站在线 |