当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Golang time.NewTimer()用法及代码示例


在Go语言中,时间包提供了确定和查看时间的函数。 Go语言中的NewTimer()函数用于创建新的计时器,该计时器将至少在持续时间“d”之后在其通道上传输实际时间。此外,此函数在时间包下定义。在这里,您需要导入“time”包才能使用这些函数。

用法:

func NewTimer(d Duration) *Timer

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

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

范例1:



// Golang program to illustrate the usage of 
// NewTimer() function 
  
// Including main package 
package main 
  
// Importing fmt and time 
import ( 
    "fmt"
    "time"
) 
  
// Main function 
func main() { 
  
    // Calling NewTimer method 
    newtimer:= time.NewTimer(5 * time.Second) 
  
    // Notifying the channel 
    <-newtimer.C 
  
    // Printed after 5 seconds 
    fmt.Println("Timer is inactivated") 
}

输出:

Timer is inactivated

在此,在运行代码5秒钟后,将打印上述输出,因为在该指定时间之后,该通道将被通知计时器已被禁用。

范例2:

// Golang program to illustrate the usage of 
// NewTimer() function 
  
// Including main package 
package main 
  
// Importing fmt and time 
import ( 
    "fmt"
    "time"
) 
  
// Main function 
func main() { 
  
    // Calling NewTimer method 
    newtimer:= time.NewTimer(time.Second) 
  
    // Notifying channel under go function 
    go func() { 
        <-newtimer.C 
  
        // Printed when timer is fired 
        fmt.Println("timer inactivated") 
    }() 
  
    // Calling stop method to stop the 
    // timer before inactivation 
    stoptimer:= newtimer.Stop() 
  
    // If the timer is stopped then the 
    // below string is printed 
    if stoptimer { 
        fmt.Println("The timer is stopped!") 
    } 
  
    // Calling sleep method to stop the 
    // execution at last 
    time.Sleep(4 * time.Second) 
}

输出:

The timer is stopped!

在上述方法中,计时器在停用之前已停止,因为此处调用了stop方法以停止计时器。最后,使用睡眠方法退出程序。




相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 time.NewTimer() Function in Golang With Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。