📅  最后修改于: 2023-12-03 15:31:01.622000             🧑  作者: Mango
time.Ticker.Stop()
是 Golang 中的一个函数,用于停止一个 Ticker 计时器,具体的使用方式如下:
ticker := time.NewTicker(time.Second)
defer ticker.Stop()
for range ticker.C {
// do something every second
}
在上面的代码中,我们创建了一个 Ticker 计时器,每秒钟会触发一次,然后我们使用 defer
关键字,在函数执行完毕时关闭计时器。然后我们使用 for range
循环来处理每个计时器,直到 ticker.C
被关闭。
如果我们希望在某个条件满足时停止计时器,我们可以使用 Stop()
函数,例如:
ticker := time.NewTicker(time.Second)
for {
select {
case <-ticker.C:
// do something every second
case <-stop:
ticker.Stop()
return
}
}
在上面的代码中,我们使用 select
语句来监听两个 channel,一个是每秒钟触发的计时器,另一个是 stop
channel,当 stop
channel 接收到信号时,我们使用 Stop()
函数来停止计时器,并退出函数。
需要注意的是,如果我们在 select
中没有监听计时器的 channel,这个计时器就会一直运行下去,可能会导致资源泄漏等问题。
总的来说,Stop()
函数是一个很实用的功能,在需要停止计时器时可以使用它来避免不必要的计时器运行。