Senior
Дар канали баста хондан ва навишт чӣ мешавад?
sobes.tech AI
Ҷавоб аз AI
在 Go 中,使用通道时:
-
从已关闭的通道读取: 如果通道已关闭且没有数据,读取操作会返回通道类型的零值和第二个返回值
false(如果使用),这表示通道已关闭。 -
向已关闭的通道写入: 尝试向已关闭的通道写入会引发 panic(
panic)。这是运行时的错误。
示例:
ch := make(chan int)
close(ch)
// 读取
v, ok := <-ch // ok == false, v == 0
// 写入
ch <- 1 // panic: send on closed channel
因此,已关闭的通道可以安全地读取,只要里面有数据,但不能写入。