Назад к вопросам
Самокат
МТС Digital
Junior — Middle
76
Каким образом можно завершить работу с каналом в программе?
Компании, где спрашивали
Ответ от нейросети
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).