Что произойдёт при чтении из закрытого канала?

Middle
1.7k просмотров
AFK Offer AI

Чтение из закрытого канала вернёт оставшиеся значения из буфера, а когда буфер опустеет — zero value типа канала. Паники не будет.

Второе возвращаемое значение ok покажет, есть ли ещё данные:

v, ok := <-ch
// ok == false → канал закрыт и пуст

range по каналу автоматически завершится когда канал закрыт и опустел. А вот запись в закрытый канал — это panic.

Следующий вопрос

Как работает error в Go?