tick := time.Tick(1 * time.second)
表示每隔一段生产一条数据到tick通道中。
boom := time.After(500 * time.Millisecond)
表示在一段时间之后产生一条数据到tick通道中,不会持续产生。
func timetick() {
tick := time.Tick(100 * time.Millisecond)
boom := time.After(500 * time.Millisecond)
for {
select {
case <-tick:
fmt.Println("tick.")
case <-boom:
fmt.Println("BOOM!")
return
default:
fmt.Println(" .")
time.Sleep(50 * time.Millisecond)
}
}
}
调用方式:go timetick()
祝好