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方法退出程序。