在 Go 中,如果通道channel关闭,我仍然可以使用以下语法从中读取,并且可以测试ok它是否已关闭。
value, ok := <- channel
if !ok {
// channel was closed and drained
}
但是,如果我不知道某个通道是否已关闭而盲目地对其进行写入,则可能会出错。我想知道是否有任何方法可以测试通道并仅在通道未关闭时写入。我问这个问题是因为有时我不知道一个通道是否在一个 goroutine 中关闭。
慕的地10843
守着星空守着你
相关分类