Middle+
Чӣ мешавад, вақте ки ба каналҳои баста шавед? Ва чӣ мешавад, вақте ки каналҳои баста баста шаванд?
sobes.tech AI
Ҷавоб аз AI
При записи в закрытый канал в Go происходит паника (panic), так как запись в закрытый канал запрещена и приводит к runtime ошибке.
При закрытии уже закрытого канала также возникает паника, потому что повторное закрытие канала недопустимо.
Пример:
ch := make(chan int)
close(ch) // канал закрыт
ch <- 1 // panic: send on closed channel
close(ch) // panic: close of closed channel
Важно: чтение из закрытого канала не вызывает панику, а возвращает нулевое значение и false во втором параметре, что позволяет корректно завершать горутины.