Sobes.tech
Middle+

Que se passe-t-il si on lit depuis un canal fermé?

sobes.tech IA

Réponse de l'IA

Если читать из закрытого канала в Go, то операция чтения не блокируется и возвращает нулевое значение типа канала вместе с признаком, что канал закрыт. Это позволяет безопасно завершать горутины, которые читают из канала, не опасаясь блокировок.

Пример:

ch := make(chan int)
close(ch)

v, ok := <-ch // ok == false, v == 0 (нулевое значение int)

Таким образом, чтение из закрытого канала всегда успешно завершается, возвращая нулевое значение и false во втором возвращаемом параметре.