Golang time.Ticker.Stop()函数及示例
在Go语言中, time 包提供了用于确定和显示时间的功能。在Go语言中, Stop() 函数用于禁用定时器。因此,在调用Stop()方法之后,不会传递更多的ticks。它不关闭通道,以避免并发go-routine从通道读取来查看不准确的“tick”。此外,此函数在time包下定义。在此,您需要导入“time”包以使用这些功能。
语法:
func (t *Ticker) Stop()
在这里,“t”是指向Ticker的指针。Ticker用于保持以时间间隔“传递”时钟的通道。
返回值: 它返回调用stop()方法之前所述操作的输出,因为调用它后,定时器被关闭。
示例:
//Go语言程序演示time.Ticker.Stop()函数的使用
//包含主要包
package main
//导入fmt和time
import "fmt"
import "time"
//调用主函数
func main() {
//调用NewTicker方法
Ticker := time.NewTicker(2 * time.Second)
//使用make关键字创建通道
mychannel := make(chan bool)
//Go函数
go func() {
//使用for循环
for {
//选择语句
select {
//选择接收的通道
case <-mychannel:
return
//打印当前时间的选择
case tm := <-Ticker.C:
fmt.Println("当前时间是:", tm)
}
}
}()
//休眠7秒钟
time.Sleep(7 * time.Second)
//调用Stop()方法
Ticker.Stop()
//设置通道的值
mychannel <- true
//当定时器关闭时输出
fmt.Println("定时器已关闭!")
}
输出:
当前时间是: 2020-04-09 07:26:05.374436607 +0000 UTC m=+2.000213251
当前时间是: 2020-04-09 07:26:07.374442201 +0000 UTC m=+4.000218858
当前时间是: 2020-04-09 07:26:09.374511648 +0000 UTC m=+6.000288424
定时器已关闭!
在这里,首先创建了一个Ticker,然后创建了一个传输时间的通道。之后,使用循环打印当前时间,然后调用Ticker.Stop()方法并关闭定时器。