Назад к вопросам
Wildberries
Junior — Middle
79
Что произойдет в программе, если попытаться прочитать из закрытого канала в Go?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Если попытаться прочитать из закрытого канала в Go, операция чтения вернёт нулевое значение типа канала и false во втором возвращаемом значении, если используется синтаксис с двумя возвращаемыми значениями:
v, ok := <-ch
Здесь ok будет false, что означает, что канал закрыт и больше данных не поступит.
Если читать из закрытого канала без проверки ok, вы получите нулевое значение типа канала (например, 0 для int).
Важно: чтение из закрытого канала не блокируется и не вызывает панику, а сразу возвращает нулевое значение и false.