Канал закрыт: close(ch). Consumer выполняет v, ok := <-ch, канал пуст. Каковы значения v и ok для канала типа chan int?
close(ch)
v, ok := <-ch
v
ok
chan int
v == последнее отправленное значение, ok == true — канал вернул кэш
v == 0, ok == true — закрытие не влияет на результат приёма
v == 0, ok == false — канал закрыт и пуст, нулевое значение типа
v == 0, ok == false, но следующий вызов вернёт панику send on closed channel
приём блокируется бесконечно, потому что канал не содержит значений