Sobes.tech
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

因此,已关闭的通道可以安全地读取,只要里面有数据,但不能写入。