ticker := time.NewTicker(time.Second * 3)
生成一个ticker定时器,三秒后执行即ticker.C会输出一个IO
import (
"fmt"
"strconv"
"time"
)
func main() {
// 使用 select return 来关闭,定时器只会执行一次
go func() {
ticker := time.NewTicker(time.Second * 3)
defer ticker.Stop()
for {
select {
case <-ticker.C:
fmt.Printf("hello, I'am ")
return
}
}
}()
// 使用 channal来关闭
go func() {
ticker := time.NewTicker(time.Second * 3)
defer ticker.Stop()
ch := make(chan bool)
for {
select {
case <-ticker.C:
fmt.Printf("hello, I'am ")
case <-ch:
return
}
}
close(ch)
}()
// 防止main过早跳出
var input string
fmt.Scanln(&input)
fmt.Println("done")
}