chan通道在go语言的办法编程中使用频繁,我们可以通过以下2种方式来判断channel通道是否已经关闭,1是使用 for range循环,另外是通过 for循环中if 简短语句的 逗号 ok 模式来判断。
示例代码如下:
//方式1 通过for range形式判断
for v := range ch {
// 通道正常
}
//方式2 通过for if 逗号 ok 模式来判断
// 死循环
for {
if v, open := <-ch; !open {
break // 通道是关闭的,终止循环
} else {
// 通道正常
}
}