Назад к вопросам
Senior
7
Что происходит при записи в неинициализированный (nil) канал?
Компании, где спрашивали
I-teco
Ответ от нейросети
sobes.tech AI
В Go запись в неинициализированный (nil) канал приводит к блокировке горутины навсегда, так как nil-канал не готов принимать или отдавать данные.
Пример:
var ch chan int // ch == nil
func main() {
ch <- 1 // блокируется навсегда, так как канал nil
}
Это поведение используется иногда для динамического включения/отключения каналов в select, поскольку операции с nil-каналом никогда не выполняются и блокируют горутину.