如果一个 channel 已经被关闭,读取操作仍可以从 channel 中读取剩余的数据,但不会再有新数据可供读取,并且读取操作将立即返回零值和一个标志,表示 channel 已经关闭。写入操作将导致 panic,因为不能向已关闭的 channel 写入数据。
Go 对已经关闭的 channel 进行读写,会怎么样?
1 min read
如果一个 channel 已经被关闭,读取操作仍可以从 channel 中读取剩余的数据,但不会再有新数据可供读取,并且读取操作将立即返回零值和一个标志,表示 channel 已经关闭。写入操作将导致 panic,因为不能向已关闭的 channel 写入数据。