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

📅  最后修改于: 2021-10-24 13:24:49             🧑  作者: Mango

在 Go 语言中,时间包提供了确定和查看时间的功能。 Go 语言中的NewTicker()函数用于禁用股票代码。因此,在调用 Stop() 方法后,不会再传输任何滴答声。并且它不会关闭通道,以避免从通道中并发的 go-routine 读取查看不准确的“滴答”。而且,这个函数是在time包下定义的。在这里,您需要导入“time”包才能使用这些功能。

句法:

func (t *Ticker) Stop()

这里,“t”是一个指向股票代码的指针。其中 Ticker 用于保存一个以间隔提供时钟“滴答”的通道。

返回值:它在调用 Stop() 方法之前返回所述操作的输出,因为在调用它之后股票代码被关闭。

例子:

// Golang program to illustrate the usage of
// time.Ticker.Stop() function
  
// Including main package
package main
  
// Importing fmt and time
import "fmt"
import "time"
  
// Calling main
func main() {
  
    // Calling NewTicker method
    Ticker := time.NewTicker(2 * time.Second)
  
    // Creating channel using make
    // keyword
    mychannel := make(chan bool)
  
    // Go function
    go func() {
  
        // Using for loop
        for {
  
            // Select statement
            select {
  
            // Case statement
            case <-mychannel:
                return
  
            // Case to print current time
            case tm := <-Ticker.C:
                fmt.Println("The Current time is: ", tm)
            }
        }
    }()
  
    // Calling Sleep() method
    time.Sleep(7 * time.Second)
  
    // Calling Stop() method
    Ticker.Stop()
  
    // Setting the value of channel
    mychannel <- true
  
    // Printed when the ticker is turned off
    fmt.Println("Ticker is turned off!")
}

输出:

The Current time is:  2020-04-09 07:26:05.374436607 +0000 UTC m=+2.000213251
The Current time is:  2020-04-09 07:26:07.374442201 +0000 UTC m=+4.000218858
The Current time is:  2020-04-09 07:26:09.374511648 +0000 UTC m=+6.000288424
Ticker is turned off!

在这里,首先创建一个 Ticker,然后创建一个传输时间的通道。在使用 for 循环以打印当前时间之后,调用 Ticker.Stop() 方法并关闭自动收报机。