欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang判斷chan channel是否關閉的方法

 更新時間:2016年07月21日 15:29:20   作者:dotcoo  
這篇文章主要介紹了golang判斷chan channel是否關閉的方法,結合實例形式對比分析了Go語言判斷chan沒有關閉的后果及關閉的方法,需要的朋友可以參考下

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

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

如果不判斷chan是否關閉

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

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

判斷短chan是否關閉

復制代碼 代碼如下:
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語言程序設計有所幫助。

相關文章

  • Go語言ORM框架構造查詢條件示例詳解

    Go語言ORM框架構造查詢條件示例詳解

    這篇文章主要為大家介紹了Go語言ORM框架構造查詢條件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 一篇文章帶你輕松搞懂Golang的error處理

    一篇文章帶你輕松搞懂Golang的error處理

    在進行后臺開發(fā)的時候,錯誤處理是每個程序員都會遇到的問題,下面這篇文章主要給大家介紹了關于Golang中error處理的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • golang調試bug及性能監(jiān)控方式實踐總結

    golang調試bug及性能監(jiān)控方式實踐總結

    這篇文章主要為大家介紹了golang調試bug及性能監(jiān)控方式實踐是總結,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • go語言LeetCode題解1030距離順序排列矩陣單元格

    go語言LeetCode題解1030距離順序排列矩陣單元格

    這篇文章主要為大家介紹了go語言LeetCode題解1030距離順序排列矩陣單元格,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Go 協(xié)程超時控制的實現(xiàn)

    Go 協(xié)程超時控制的實現(xiàn)

    本文主要介紹了Go 協(xié)程超時控制的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • golang包循環(huán)引用的幾種解決方案總結

    golang包循環(huán)引用的幾種解決方案總結

    golang有包循環(huán)引用問題,用過的應該都知道,下面這篇文章主要給大家介紹了關于golang包循環(huán)引用的幾種解決方案,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • 詳解Go語言Slice作為函數(shù)參數(shù)的使用

    詳解Go語言Slice作為函數(shù)參數(shù)的使用

    Slice切片在Go語言中實質是一種結構體類型,本文詳細的介紹了Go語言Slice作為函數(shù)參數(shù)的使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Golang指針的操作以及常用的指針函數(shù)

    Golang指針的操作以及常用的指針函數(shù)

    本文主要介紹了Golang指針的操作以及常用的指針函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • golang并發(fā)執(zhí)行的幾種方式小結

    golang并發(fā)執(zhí)行的幾種方式小結

    本文主要介紹了golang并發(fā)執(zhí)行的幾種方式小結,主要包括了Channel,WaitGroup ,Context,使用這三種機制中的一種或者多種可以達到并發(fā)控制很好的效果,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • golang gin 監(jiān)聽rabbitmq隊列無限消費的案例代碼

    golang gin 監(jiān)聽rabbitmq隊列無限消費的案例代碼

    這篇文章主要介紹了golang gin 監(jiān)聽rabbitmq隊列無限消費,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12

最新評論