主頁 > 知識庫 > golang判斷chan channel是否關(guān)閉的方法

golang判斷chan channel是否關(guān)閉的方法

熱門標(biāo)簽:騰訊外呼系統(tǒng)價格 電梯外呼訪客系統(tǒng) 百度地圖標(biāo)注搜索關(guān)鍵詞 最短的地圖標(biāo)注 ?兓? 成都呼叫中心外呼系統(tǒng)平臺 電銷機(jī)器人可以補(bǔ)救房產(chǎn)中介嗎 浙江人工智能外呼管理系統(tǒng) 谷歌便利店地圖標(biāo)注

本文實例講述了golang判斷chan channel是否關(guān)閉的方法。分享給大家供大家參考,具體如下:

群里有朋友問,怎么判斷chan是否關(guān)閉,因為close的channel不會阻塞,并返回類型的nil值,會導(dǎo)致死循環(huán).在這里寫個例子記錄一下,并且分享給大家

如果不判斷chan是否關(guān)閉

Notice: 以下代碼會產(chǎn)生死循環(huán)

復(fù)制代碼 代碼如下:
package main
import (
    "fmt"
)
func main() {
    c := make(chan int, 10)
    c - 1
    c - 2
    c - 3
    close(c)
    for {
        fmt.Println(-c)
    }
}

判斷短chan是否關(guān)閉

復(fù)制代碼 代碼如下:
package main
import (
    "fmt"
)
func main() {
    c := make(chan int, 10)
    c - 1
    c - 2
    c - 3
    close(c)
    for {
        i, isClose := -c
        if !isClose {
            fmt.Println("channel closed!")
            break
        }
        fmt.Println(i)
    }
}

希望本文所述對大家Go語言程序設(shè)計有所幫助。

您可能感興趣的文章:
  • 基于golang channel實現(xiàn)的輕量級異步任務(wù)分發(fā)器示例代碼
  • golang中for循環(huán)遍歷channel時需要注意的問題詳解
  • golang實現(xiàn)基于channel的通用連接池詳解
  • Golang優(yōu)雅關(guān)閉channel的方法示例
  • golang中單向channel的語法介紹
  • Golang中channel使用的一些小技巧
  • Golang中channel的原理解讀(推薦)

標(biāo)簽:雅安 宜昌 上海 紹興 盤錦 眉山 邢臺 七臺河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang判斷chan channel是否關(guān)閉的方法》,本文關(guān)鍵詞  golang,判斷,chan,channel,是否,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang判斷chan channel是否關(guān)閉的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于golang判斷chan channel是否關(guān)閉的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章