Вопрос: Как закрывать канал и как корректно читать из закрытого канала?

Go Junior Без компании
Вопрос: Как закрывать канал и как корректно читать из закрытого канала?
Ответы
close(ch) закрывает канал для отправки. Чтение из закрытого канала возвращает оставшиеся значения, затем zero value и ok=false. ```go package main import "fmt" func main() { ch := make(chan int, 2) ch <- 1 ch <- 2 close(ch) for { v, ok := <-ch if !ok { break } fmt.Println(v) } } ``` Закрывает канал только отправитель (тот, кто больше не будет слать).