В Go, если канал channel
закрыт, я все еще могу читать с него, используя следующий синтаксис, и я могу проверить, ok
ли он закрыт.
value, ok := <- channel
if !ok {
// channel was closed and drained
}
Однако, если я не знаю, закрыт ли канал и пишу ему вслепую, я могу получить ошибку. Я хочу знать, есть ли способ проверить канал и писать на него, только когда он не закрыт. Я задаю этот вопрос потому, что иногда я не знаю, закрыт канал или нет в программе.