閉包作為Go程在運行時會發(fā)生什么?

<pre>
package main
import (
"fmt"
)

func main() {
done := make(chan bool)

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

// 在退出前等待所有Go程完成
for _ = range values {
    <-done
}

}
</pre>

輸出:  有可能是 c c c  而不是你想象的 a b c
       每一個閉包共享變量v, 所以v有可能被其他goroutine 修改.

參考:
http://docscn.studygolang.com/doc/faq#不同的方法集

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,765評論 25 709
  • 青衣折扇路過繡坊紅窗前 萬物驚動,素衣入心田 繡紅銀針劃過青絲間 淡回頭皺眉也溫婉 青苔爬過石板記點點流年 黛眉藏...
    百度驚悚閱讀 328評論 8 14
  • 海爾,一直走在追求的路上 【摘要】海爾集團創(chuàng)業(yè)于1984年,是全球大型家電第一品牌,目前已從傳統(tǒng)制造家電產(chǎn)品...
    欒城安閱讀 655評論 0 0
  • 文/西西 你就是一縷風 吹開了花朵,吹去了云 你的喁喁細語 你的離去悄無聲息 連溫柔都找不到一點點 證據(jù) 散落的月...
    花語清溪閱讀 452評論 7 13
  • 聲明:原創(chuàng)文章,轉(zhuǎn)載請注明出處。http://www.itdecent.cn/u/e02df63eaa87 Jav...
    唐影若凡閱讀 477評論 0 0

友情鏈接更多精彩內(nèi)容