Golang time.NewTimer()函数及示例

Golang time.NewTimer()函数及示例

在Go语言中,time包提供了确定和查看时间的功能。在Go语言中, NewTimer() 函数用于创建一个新的计时器,该计时器将在至少等待时长“d”后将实际时间传输到其通道中。此外,此函数在time包中定义。 在此,您需要导入“time”包以使用这些功能。

语法:

func NewTimer(d Duration) *Timer

这里,*Timer是指向计时器的指针。

返回值:它返回一个通道,该通道通知计时器必须等待多长时间。

示例1:

// Golang程序用于说明
// NewTimer()函数的使用
  
// 包含main函数
package main
  
// 导入fmt和time
import (
    "fmt"
    "time"
)
  
// 主函数
func main() {
  
    // 调用NewTimer方法
    newtimer := time.NewTimer(5 * time.Second)
  
    // 通知通道
    <-newtimer.C
  
    // 5秒后打印
    fmt.Println("计时器已关闭")
} 

输出:

计时器已关闭

在上述示例中,代码运行5秒钟后打印输出,因为在此期间通道被通知计时器已关闭。

示例2:

// Golang程序用于说明
// NewTimer()函数的使用
  
// 包含main函数
package main
  
// 导入fmt和time
import (
    "fmt"
    "time"
)
  
// 主函数
func main() {
  
    // 调用NewTimer方法
    newtimer := time.NewTimer(time.Second)
  
    // 在go函数下通知通道
    go func() {
        <-newtimer.C
  
        // 计时器被触发时打印
        fmt.Println("计时器已关闭")
    }()
  
    // 在“计时器”关闭之前调用stop方法停止计时器
    stoptimer := newtimer.Stop()
  
    // 如果计时器停止,则打印以下字符串
    if stoptimer {
        fmt.Println("计时器已停止!")
    }
  
    // 在最后调用sleep方法以停止执行
    time.Sleep(4 * time.Second)
} 

输出:

计时器已停止!

在上述代码中,在计时器关闭之前就停止了计时器,这里调用了stop方法来停止计时器。最后,使用sleep方法退出程序。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程