主页 > 知识库 > golang判断chan channel是否关闭的方法

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

热门标签:腾讯外呼系统价格 电梯外呼访客系统 百度地图标注搜索关键词 最短的地图标注 兓㑿 成都呼叫中心外呼系统平台 电销机器人可以补救房产中介吗 浙江人工智能外呼管理系统 谷歌便利店地图标注

本文实例讲述了golang判断chan channel是否关闭的方法。分享给大家供大家参考,具体如下:

群里有朋友问,怎么判断chan是否关闭,因为close的channel不会阻塞,并返回类型的nil值,会导致死循环.在这里写个例子记录一下,并且分享给大家

如果不判断chan是否关闭

Notice: 以下代码会产生死循环

复制代码 代码如下:
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语言程序设计有所帮助。

您可能感兴趣的文章:
  • 基于golang channel实现的轻量级异步任务分发器示例代码
  • golang中for循环遍历channel时需要注意的问题详解
  • golang实现基于channel的通用连接池详解
  • Golang优雅关闭channel的方法示例
  • golang中单向channel的语法介绍
  • Golang中channel使用的一些小技巧
  • Golang中channel的原理解读(推荐)

标签:雅安 宜昌 上海 绍兴 盘锦 眉山 邢台 七台河

巨人网络通讯声明:本文标题《golang判断chan channel是否关闭的方法》,本文关键词  golang,判断,chan,channel,是否,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《golang判断chan channel是否关闭的方法》相关的同类信息!
  • 本页收集关于golang判断chan channel是否关闭的方法的相关信息资讯供网民参考!
  • 推荐文章