Middle+
Cosa succede se si scrive in un canale chiuso in Go?
sobes.tech AI
Risposta dell'AI
Если попытаться записать значение в закрытый канал в Go, произойдет паника (panic) с сообщением "send on closed channel". Это связано с тем, что закрытый канал больше не принимает новые значения.
Пример:
ch := make(chan int)
close(ch)
ch <- 1 // panic: send on closed channel
Важно:
- Чтение из закрытого канала возможно и вернет нулевое значение и false, если канал пуст.
- Запись в закрытый канал всегда приводит к панике.
Поэтому перед записью в канал нужно быть уверенным, что он не закрыт, или использовать другие механизмы синхронизации.