# Golang 并发编程-Ticker 周期执行 Timer 只执行一次,Ticker 可以周期的执行 示例 ```go package main import ( "fmt" "time" ) func main() { // 执行五次打印 ticker := time.NewTicker(time.Second) count := 0 for _ = range ticker.C { fmt.Println("ticker") count++ if count >= 5 { ticker.Stop() break } } } ``` 示例 ```go package main import ( "fmt" "time" ) func main() { ticker := time.NewTicker(time.Second) chanInt := make(chan int) // 定时向管道随机发送一个数 go func() { for _ = range ticker.C { select { case chanInt <- 1: case chanInt <- 2: case chanInt <- 3: } } }() // 接收管道数据 sum := 0 for v := range chanInt { fmt.Printf("v: %v\n", v) sum += v if sum >= 10 { break } } } ```