📜  Golang 中的 time.Ticker.Stop()函数示例(1)

📅  最后修改于: 2023-12-03 15:31:01.622000             🧑  作者: Mango

Golang 中的 time.Ticker.Stop()函数示例

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() 函数是一个很实用的功能,在需要停止计时器时可以使用它来避免不必要的计时器运行。