Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 976 Bytes

File metadata and controls

23 lines (19 loc) · 976 Bytes

Проверка закрытия канала при чтении

При чтении из канала можно использовать форму value, ok := <-ch для проверки, закрыт ли канал — если канал закрыт, ok будет false, а value примет нулевое значение типа, что позволяет безопасно обрабатывать завершение работы с каналом.

ch := make(chan int)

// Пример использования:
for {
    value, ok := <-ch
    if !ok {
        fmt.Println("Канал закрыт")
        break
    }
    fmt.Println("Получено значение:", value)
}

// Альтернативный способ с range:
for value := range ch {
    fmt.Println("Получено значение:", value)
}
// Когда канал закроют, цикл range автоматически завершится