Sobes.tech
Back to tasks
Junior — Senior
175

Получение данных из канала с задержкой и ограничением по времени

Get help with live coding in real time with Sobes Copilot
Task condition

Определите, какие сообщения появятся в выводе программы, учитывая работу канала, паузы между отправками и срабатывание тайм‑аута в конструкции 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
    }
  }
}