Паника: close of closed channel. Канал можно закрыть только один раз.
Встроенной проверки "закрыт ли канал" без чтения из него в Go нет. Архитектуру строят так, что закрывает один известный отправитель (часто через defer close(ch)).
ch := make(chan int)
close(ch)
close(ch) // panic: close of closed channel