Sobes.tech
Назад к вопросам
Junior — Middle
79

Что произойдет в программе, если попытаться прочитать из закрытого канала в Go?

Компании, где спрашивали
WildberriesWildberries

Ответ от нейросети

sobes.tech AI

Если попытаться прочитать из закрытого канала в Go, операция чтения вернёт нулевое значение типа канала и false во втором возвращаемом значении, если используется синтаксис с двумя возвращаемыми значениями:

v, ok := <-ch

Здесь ok будет false, что означает, что канал закрыт и больше данных не поступит.

Если читать из закрытого канала без проверки ok, вы получите нулевое значение типа канала (например, 0 для int).

Важно: чтение из закрытого канала не блокируется и не вызывает панику, а сразу возвращает нулевое значение и false.