var ch chan int; <-ch?Чтение из nil-канала блокирует горутину навсегда. Если это единственная активная горутина, рантайм сообщит о deadlock.
<-ch - блокировка навсегдаch <- x - блокировка навсегдаclose(ch) - паникаВ select nil-каналы никогда не "готовы", поэтому их используют для динамического отключения case: присвоить ch = nil, и соответствующий case перестанет срабатывать.