Назад к вопросам
Middle+
4
Что произойдет, если писать в закрытый канал в Go?
Компании, где спрашивали
Magnit Tech
Ответ от нейросети
sobes.tech AI
Если попытаться записать значение в закрытый канал в Go, произойдет паника (panic) с сообщением "send on closed channel". Это связано с тем, что закрытый канал больше не принимает новые значения.
Пример:
ch := make(chan int)
close(ch)
ch <- 1 // panic: send on closed channel
Важно:
- Чтение из закрытого канала возможно и вернет нулевое значение и false, если канал пуст.
- Запись в закрытый канал всегда приводит к панике.
Поэтому перед записью в канал нужно быть уверенным, что он не закрыт, или использовать другие механизмы синхронизации.