成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Go 語言史詩級更新-循環Bug修復

開發 前端
Let's Encrypt: CAA Rechecking bug類似的問題連 mozilla 團隊也沒能幸免,所以也確實是一個非常常見的問題,這樣的寫法符合大部分的開發者的直覺,畢竟其他語言這么使用也沒有問題。

背景

前兩天 Golang 的官方博客更新了一篇文章:Fixing For Loops in Go 1.22

看這個標題的就是修復了 Go 循環的 bug,這真的是史詩級的更新;我身邊接觸到的大部分 Go 開發者都犯過這樣的錯誤,包括我自己,所以前兩年我也寫過類似的博客:簡單的 for 循環也會踩的坑

先來簡單回顧下使用使用 for 循環會碰到的問題:

list := []*Demo{{"a"}, {"b"}}  
for _, v := range list {  
 go func() {  
  fmt.Println("name="+v.Name)  
 }()  
}  
  
type Demo struct {  
 Name string  
}

預期的結果應該是打印 a,b,但實際打印的卻是b,b。

圖片圖片

Let's Encrypt: CAA Rechecking bug類似的問題連 mozilla 團隊也沒能幸免,所以也確實是一個非常常見的問題,這樣的寫法符合大部分的開發者的直覺,畢竟其他語言這么使用也沒有問題。

當然在現階段要解決也很簡單,要么就是在使用之前先復制一次,或者使用閉包傳參:

// 復制
 list := []*Demo{{"a"}, {"b"}}  
 for _, v := range list {  
  temp:=v  
  go func() {  
   fmt.Println("name="+temp.Name)  
  }()  
 }

 // 閉包
 list := []*Demo{{"a"}, {"b"}}  
 for _, v := range list {  
  go func(temp *Demo) {  
   fmt.Println("name="+temp.Name)  
  }(v)  
 }

還好官方也意識到了這個問題:

圖片圖片

所以在 1.22 中我們可以不用再寫這個 ????v:=v這個多余的復制語句了,也不會出現上面的問題。

我們在 1.21 中可以使用環境變量預覽這個特性:

? GOEXPERIMENT=loopvar go test
name=b
name=a

在 1.22 發布后建議大家都可以升級了,將這種惡心的 bug 扼殺在搖籃里。

1.22 后帶來了一個好消息是今后少了一道面試題,壞消息是又新增了一個 1.22 版本帶來了哪些變化的面試題??

更多詳情可以參看官方播客:https://go.dev/blog/loopvar-preview

責任編輯:武曉燕 來源: crossoverJie
相關推薦

2023-11-13 08:21:35

阿里云盤

2015-08-14 10:15:30

蘋果更新

2022-02-09 08:21:43

累積更新微軟Windows 10

2020-09-09 12:44:59

Windows 10微軟Bug

2022-07-21 14:42:33

Windows 11BUG微軟

2021-01-05 14:22:35

比特幣貨幣投資

2023-07-27 07:24:49

2023-07-27 08:43:53

2023-04-06 08:00:00

JavaValhalla項目

2023-07-14 12:10:08

AI自主權離職

2015-07-31 09:42:11

IOS更新

2015-10-22 10:09:03

ios9更新bug

2021-06-24 05:40:28

Windows 10操作系統微軟

2021-10-18 05:38:53

Windows 11操作系統微軟

2019-10-17 10:12:02

Go語言Java函數

2009-02-20 16:53:07

Windows 7BetaBug

2010-01-05 14:45:08

FileZilla 3修復bug

2022-05-23 09:22:20

Go語言調試器Delve

2022-09-14 08:28:31

微軟Windows 11

2016-09-14 16:16:01

Windows 10KindleBUG
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产欧美日韩 | 欧美日韩视频在线 | 亚洲天天干 | 91视视频在线观看入口直接观看 | 久久99这里只有精品 | 99国产视频| 久草中文在线 | 国产aa| 日韩视频免费在线 | 国产一区二区三区欧美 | av一二三区 | 欧美激情精品久久久久久变态 | 欧美日韩第一页 | 99re视频在线观看 | 国产精品一区二区欧美 | www.日本三级| 成年精品| 香蕉久久久久久 | 女人av| 精品三级在线观看 | 久久久久国产精品人 | 青青草精品 | 1204国产成人精品视频 | 欧美h视频 | 国产一区二区精品在线观看 | 91人人视频在线观看 | www.日本国产 | 人操人免费视频 | 欧美在线激情 | 日本黄色不卡视频 | 国产亚洲精品久久情网 | 国产在线观看免费 | 99视频网 | 久久精品免费观看 | 日韩中文字幕一区 | 一区二区三区视频在线观看 | 国产精品视频免费观看 | 91成人在线视频 | 久久r精品| 美女在线一区二区 | 亚洲精品一区二区在线观看 |