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

Каким образом можно завершить чтение данных из канала в программировании?

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

sobes.tech AI

В Go для завершения чтения из канала обычно используют закрытие канала с помощью функции close(). Когда канал закрыт, попытка чтения из него возвращает нулевое значение и false во втором параметре, что позволяет определить конец данных.

Пример:

ch := make(chan int)
go func() {
    for i := 0; i < 5; i++ {
        ch <- i
    }
    close(ch) // сигнализируем, что данных больше нет
}()

for val := range ch {
    fmt.Println(val) // читает до закрытия канала
}

В этом примере цикл for val := range ch автоматически завершится, когда канал будет закрыт и все данные прочитаны.