Sobes.tech
Back to questions
Junior — Middle
82

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

Companies where asked
WildberriesWildberries

Answer from AI

sobes.tech AI

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

v, ok := <-ch

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

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

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