// code_048_Ticker project main.go
package main

import (
    "fmt"
    "time"
)

//Ticker是一个定时触发的计时器,
//它会以一个间隔(interval)往channel发送一个事件(当前时间),
//而channel的接收者可以以固定的时间间隔从channel中读取事件。

func main() {
    ////创建定时器,每隔1秒后,定时器就会给channel发送一个事件(当前时间)
    ticker := time.NewTicker(time.Second * 1)

    i := 0
    go func() {
        for { //循环
            <-ticker.C
            i++
            fmt.Println("i =", i)
            if i == 5 {
                ticker.Stop()
            }
        }
    }()

    //死循环,特地不让main goroutine结束
    for {
    }
}