源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

golang判断chan channel是否关闭的方法

  • 时间:2021-05-01 10:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:golang判断chan channel是否关闭的方法
本文实例讲述了golang判断chan channel是否关闭的方法。分享给大家供大家参考,具体如下: 群里有朋友问,怎么判断chan是否关闭,因为close的channel不会阻塞,并返回类型的nil值,会导致死循环.在这里写个例子记录一下,并且分享给大家 [b]如果不判断chan是否关闭[/b] Notice: 以下代码会产生死循环
[u]复制代码[/u] 代码如下:
package main import (     "fmt" ) func main() {     c := make(chan int, 10)     c <- 1     c <- 2     c <- 3     close(c)     for {         fmt.Println(<-c)     } }
[b]判断短chan是否关闭 [/b]
[u]复制代码[/u] 代码如下:
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语言程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部