Встречается на 29% собеседований по Go
Что происходит при записи в закрытый канал
При записи в закрытый канал в Go происходит паника (panic). Это защитный механизм, предотвращающий запись в канал, который больше не используется.
Пример:
go
ch := make(chan int)
close(ch)
ch <- 42 // panic: send on closed channelВажные моменты:
- Чтение из закрытого канала возможно - будет возвращаться нулевое значение типа и
falseкак второе значение - Повторное закрытие канала также вызывает панику
- Лучшая практика - закрывать канал только отправителем и явно документировать, кто отвечает за закрытие
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы
