<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 1.22將修復(fù)for循環(huán)變量錯(cuò)誤

          共 1540字,需瀏覽 4分鐘

           ·

          2023-09-26 14:39

          出品 | OSC開源社區(qū)(ID:oschina2013)

          上月正式發(fā)布的 Go 1.21 修改了 for 循環(huán)變量的語義( 預(yù)覽階段,詳情:https://github.com/golang/go/wiki/LoopvarExperiment )。 現(xiàn)在,Go 團(tuán)隊(duì)表示 Go 1.22 會(huì)將這項(xiàng)特性發(fā)布為正式功能。 3bf4292abb1c2e58b11147b8f3466618.webp根據(jù) Go 開發(fā)團(tuán)隊(duì)技術(shù) leader Russ Cox (rsc) 的介紹,Go 開發(fā)者經(jīng)常會(huì)犯的錯(cuò)誤是在循環(huán)迭代結(jié)束后,保留對循環(huán)變量的引用,此時(shí)它會(huì)采用預(yù)期之外的新值。 例如下面的程序:
              func main() {
          done := make(chan bool)

          values := []string{"a", "b", "c"}
          for _, v := range values {
          go func() {
          fmt.Println(v)
          done <- true
          }()
          }

          // wait for all goroutines to complete before exiting
          for _ = range values {
          <-done
          }
          }

          其創(chuàng)建的三個(gè) goroutine 都用于打印相同的變量  v ,因此它們只會(huì)打印出 “c”, “c”, “c”,而不是按順序打印 “a”, “b”, 和 “c”。

          從 Go1.21 開始,開發(fā)者可以啟用  GOEXPERIMENT=loopvar  來構(gòu)建 Go 程序,以解決上文提到的 for 循環(huán)變量問題。

          構(gòu)建命令:

              GOEXPERIMENT=loopvar go install my/program
          GOEXPERIMENT=loopvar go build my/program
          GOEXPERIMENT=loopvar go test my/program
          GOEXPERIMENT=loopvar go test my/program -bench=.
          ...
          現(xiàn)在 Go 開發(fā)團(tuán)隊(duì)表示,從 Go1.22 開始,新的 for 循環(huán)語義將會(huì)在 go.mod 文件中的 Go 版本大于等于 Go1.22 下默認(rèn)啟用。
          < END > 我們創(chuàng)建了一個(gè)高質(zhì)量的技術(shù)交流群,與優(yōu)秀的人在一起,自己也會(huì)優(yōu)秀起來,趕緊 點(diǎn)擊加群 ,享受一起成長的快樂。另外,如果你最近想跳槽的話,年前我花了2周時(shí)間收集了一波大廠面經(jīng),節(jié)后準(zhǔn)備跳槽的可以 點(diǎn)擊這里領(lǐng)取 !

          推薦閱讀

          ··································

          你好,我是 JavaPub,多年開發(fā)老司機(jī),區(qū)塊鏈從業(yè)者、自媒體創(chuàng)作者、站長。喜歡自由、開放。選擇計(jì)算機(jī)這個(gè)行業(yè),就是因?yàn)闊釔?。一路過來,給我最深的感受就是一定要不斷學(xué)習(xí)并關(guān)注前沿。只要你能堅(jiān)持下來,多思考、少抱怨、勤動(dòng)手,就很容易實(shí)現(xiàn)彎道超車!所以,不要問我現(xiàn)在干什么是否來得及。如果你看好一個(gè)事情,一定是堅(jiān)持了才能看到希望,而不是看到希望才去堅(jiān)持。相信我,只要堅(jiān)持下來,你一定比現(xiàn)在更好!如果你還沒什么方向,可以先關(guān)注我,這里會(huì)經(jīng)常分享一些前沿資訊,幫你積累彎道超車的資本。

          瀏覽 130
          點(diǎn)贊
          評論
          收藏
          分享

          手機(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>
                  国产一区二区yy精品无码毛片 | 日本中岀亚洲 | 大黑鸡巴干中国美女大肥臀视频 | 亚洲色大成人网站www永久 | 成人大骚逼网 |