Go - Tickers

Go - Tickers 首页 / Golang入门教程 / Go - Tickers

当我们想按固定的时间间隔进行一些工作时,会使用" Go Tickers"。可以使用Stop()方法像停止计时器一样停止股票行情。

NewTicker()方法返回一个新的Ticker,它具有一个根据duration参数发送时间的通道。持续时间必须大于零,否则,置顶器将出现Panic。

Go股票行情示例

package main
import "time"
import "fmt"
func main() {
	tickerValue := time.NewTicker(time.Millisecond * 100)
	go func() {
		for t := range tickerValue.C {
			fmt.Println("Tick at", t)
		}
	}()
	time.Sleep(time.Millisecond * 500)
	tickerValue.Stop()
	fmt.Println("Ticker stopped")
}

输出:

无涯教程网

Tick at 2017-10-07 17:26:35.946279716 +0530 IST m=+0.101345812
Tick at 2017-10-07 17:26:36.046371811 +0530 IST m=+0.201437907
Tick at 2017-10-07 17:26:36.146417657 +0530 IST m=+0.301483753
Tick at 2017-10-07 17:26:36.24851386 +0530 IST m=+0.403579956
Tick at 2017-10-07 17:26:36.346476978 +0530 IST m=+0.501543074
Ticker stopped

Go示例2

package main
import (
	"log"
	"time"
)
func haveFun(s string) {
	log.Printf("\tA: Let's have fun: %v", s)
}
func doPolling() {
	for _ = range time.Tick(2 * time.Second) {
		haveFun("\t B : Okay!")
	}
}
func main() {
	go doPolling()
	select {} //select 语句让 goroutine 等待多个通信操作。
}

输出:

无涯教程网

2017/10/07 18:15:15 	A: Let's have fun: 	 B : Okay!
2017/10/07 18:15:17 	A: Let's have fun: 	 B : Okay!
2017/10/07 18:15:19 	A: Let's have fun: 	 B : Okay!
2017/10/07 18:15:21 	A: Let's have fun: 	 B : Okay!
2017/10/07 18:15:23 	A: Let's have fun: 	 B : Okay!
2017/10/07 18:15:25 	A: Let's have fun: 	 B : Okay!

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术管理案例课 -〔许健〕

小马哥讲Spring AOP编程思想 -〔小马哥〕

网络排查案例课 -〔杨胜辉〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

后端工程师的高阶面经 -〔邓明〕

结构学习力 -〔李忠秋〕

结构沟通力 -〔李忠秋〕

LangChain 实战课 -〔黄佳〕

给程序员的写作课 -〔高磊〕

好记忆不如烂笔头。留下您的足迹吧 :)