Junior — Middle
Daha önce kapatılmış bir kanalı kapatmaya çalışırsanız, ne beklenir?
sobes.tech yapay zeka
AI'dan gelen yanıt
В Go попытка закрыть уже закрытый канал приводит к панике (panic).
Закрывать канал можно только один раз, чтобы сигнализировать о том, что больше не будет отправлено значений.
Если вызвать close(ch) повторно для одного и того же канала, программа аварийно завершится с ошибкой.
Пример:
ch := make(chan int)
close(ch) // корректно
close(ch) // panic: close of closed channel
Поэтому важно контролировать, что канал закрывается только один раз.