Что будет, если попробовать записать в закрытый канал?

Отправка в закрытый канал Go вызывает panic: send on closed channel. Буфер и наличие получателя не делают такую отправку допустимой.

Короткий ответ

Что ответить на собеседовании

Отправка в закрытый канал Go вызывает panic: send on closed channel. Буфер и наличие получателя не делают такую отправку допустимой.

Подробный разбор

Ответ с пояснениями

Отправка в закрытый канал Go вызывает panic: send on closed channel. Буфер и наличие получателя не делают такую отправку допустимой.

Закрытие означает, что новых значений больше не будет. Получатели ещё могут вычитать буфер, а затем получат нулевое значение и ok=false. Предварительная проверка «закрыт ли канал» не устраняет гонку между проверкой и отправкой. Нужно согласовать жизненный цикл: канал закрывает владелец после завершения всех отправителей.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее