select channel 相关的一个问题

<-time.After 这个是向通道中发送了某个信息么?是怎么做到的?

select {
    case msg1 := <-channel1:
        fmt.Println("received", msg1)
    case msg2 := <-channel2:
        fmt.Println("received", msg2)
    case <-time.After(500 * time.Microsecond):  // <--最后这个是怎么做到的?
        fmt.Println("超时500毫秒后执行")
}
阅读 797
1 个回答

发送是 ->

<- 是接收。

time.After 会返回一个 channel ,到时间了这个 channel 会收到一个信息,通知时间到了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题