Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
46
Получение данных из канала с задержкой и ограничением по времени
Условие задачи
Определите, какие сообщения появятся в выводе программы, учитывая работу канала, паузы между отправками и срабатывание тайм‑аута в конструкции select.
func main() {
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
time.Sleep(time.Second)
}
close(ch)
}()
for {
select {
case v := <-ch:
fmt.Println(v)
case <-time.After(3 * time.Second):
fmt.Println("timeout")
break
}
}
}