阅读量:0
Ticker是一个定时触发的定时器,它会每隔一段时间向一个通道发送一个事件。
下面是一个简单的示例,演示了如何使用Ticker来定时执行任务:
package main import ( "fmt" "time" ) func main() { // 创建一个每隔1秒触发一次的Ticker ticker := time.NewTicker(1 * time.Second) // 创建一个通道来接收Ticker事件 tickerChan := ticker.C // 定义一个计数器 count := 0 for { select { case <-tickerChan: // 每次收到Ticker事件时执行的任务 count = count + 1 fmt.Println("Ticker event ", count) // 如果计数器达到5,停止Ticker if count == 5 { ticker.Stop() fmt.Println("Ticker stopped") return } } } }
在上面的示例中,我们首先创建了一个每隔1秒触发一次的Ticker,并通过ticker.C
获取了一个通道来接收Ticker事件。然后使用一个无限循环来监听通道,每次收到Ticker事件时执行相应的任务。在这个示例中,我们设置一个计数器,当计数器达到5时停止Ticker。
当运行上面的代码时,你会看到每隔1秒输出一次"Ticker event",当计数器达到5时会停止输出并停止Ticker。