站長資訊網
        最全最豐富的資訊網站

        golang chan是否關閉

        golang chan是否關閉

        chan是golang中非常重要的一個東西,用來做goroutine的通信,因為golang程序必然會有多個goroutine,如何同步這些goroutine就很重要了。

        使用chan時有幾個心得: (推薦學習:go)

        首先,永遠是符號<-進行讀取或者寫入,譬如v,ok := <-c是讀取,而c <- v是寫入。

        其次,讀取時,如果沒有ok,也是可以讀取的。不過如果closed也是能讀的,沒有賦值而已;如果要知道是否closed得加ok,也就是除非chan永遠不關閉,否則讀取應該用v,ok := <-c而不是用v := <-c的方式。

        再次,不能向closed的chan寫入,所以一般寫入時需要用一個信號的chan(一般buffer為1),來判斷是否寫入或者放棄,用select判斷是寫入成功了,還是正在關閉需要放棄寫入。

        最后,如果closed后,chan有數據,ok還是true的,直到chan沒有數據了才false。

        當一個chanel被關閉后,再取出不會阻塞,而是返回零值

        package main   import "fmt"   func main() {     c := make(chan int, 5)     c <- 123     close(c)           fmt.Println(<-c)     fmt.Println(<-c) }

        輸出

        123 0

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品免费大片| 国产L精品国产亚洲区久久| 国产a视频精品免费观看| 精品国产三级a乌鸦在线观看| 国产女人精品视频国产灰线| 久久精品国产WWW456C0M| 欧美一区二区精品久久| 精品福利视频一区二区三区| 香港aa三级久久三级老师2021国产三级精品三级在 | 亚洲精品成人网站在线观看 | 免费91麻豆精品国产自产在线观看| 久久中文精品无码中文字幕| 国产成人精品视频在放| 亚洲精品无码久久久久| 久久久久亚洲精品中文字幕| 国产精品免费在线播放| 久久国产精品-国产精品| 国产精品无码久久久久久| 亚洲日韩国产精品第一页一区| 人妻少妇看A偷人无码精品视频| 国产精品无码久久综合网| 国产精品99久久精品爆乳| 欧美精品一区二区三区在线| 国产精品臀控福利在线观看| 500av大全导航精品| 99久久久精品免费观看国产| 国内精品久久久久影院优| 久久亚洲精品人成综合网| 无码日韩精品一区二区免费暖暖 | 亚洲韩国精品无码一区二区三区| 欧美成人精品一区二区综合| 精品国产午夜肉伦伦影院| 国产精品自在在线午夜福利| 国产精品99| 精品国产91久久久久久久a | 久久夜色精品国产噜噜麻豆| 亚洲精品成人无限看| 无码人妻精品中文字幕| 日韩一区精品视频一区二区| 精品卡一卡二卡乱码高清| 国产精品亲子乱子伦xxxx裸|