Ответ
Писать в nil-канал в Go приводит к блокировке навсегда, так как операция записи в nil-канал никогда не выполнится. Это поведение определено в спецификации языка.
Пример:
var ch chan int // nil канал
ch <- 42 // deadlock
Чтение из nil-канала также блокирует горутину навсегда:
var ch chan int
val := <-ch // deadlock
Практический совет: всегда инициализируйте каналы перед использованием, чтобы избежать неожиданных блокировок.