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()


祝好


本文来自:CSDN博客




查看原文:http://www.zoues.com/2016/10/20/golang%e5%ae%9a%e6%97%b6%e5%99%a8%e5%87%bd%e6%95%b0/