Как понять, закрыт канал или нет (идиома `v, ok := <-ch`)? Как проверить, что при чтении получено валидное значение?

ВопросJuniorпроверка — СпринтКаналы и select×2 на собесах07-q007

Так тоже спрашивают:

  • А если без использования флага ok — как ещё можно понять, что канал закрыт?
  • Как проверить, что при чтении получено валидное значение, а не нулевое от закрытого канала?
⌘ Enter — проверить