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

Каким образом можно завершить работу с каналом в программе?

Компании, где спрашивали
СамокатСамокат
МТС DigitalМТС Digital

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

sobes.tech AI

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

Пример:

ch := make(chan int)
go func() {
    ch <- 42
    close(ch) // Закрываем канал после отправки
}()

for val := range ch {
    fmt.Println(val) // Выведет 42
}

Таким образом, чтобы завершить работу с каналом, нужно вызвать close(channel).