📅  最后修改于: 2023-12-03 15:31:01.568000             🧑  作者: Mango
在 Golang 中,time 包中提供了很多关于时间相关的 API,其中包括了一个 NewTicker() 函数,本文将介绍 NewTicker() 函数以及如何使用它来实现定时器。
NewTicker() 函数返回一个新的 Ticker,该 Ticker 包含一个内部的通道,并以给定的时间间隔重复发送时间。该函数的定义如下:
func NewTicker(d Duration) *Ticker
其中,d 表示时间间隔,返回值是一个类型为 Ticker 的指针。
下面给出一个简单的示例,通过使用 NewTicker() 函数实现每秒打印一次时间的效果:
package main
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(1 * time.Second)
for {
t := <-ticker.C
fmt.Println("Current time:", t)
}
}
该程序会启动一个 Ticker,每秒钟向其内部通道发送一个时间,程序会不断从该通道中读取时间,并打印输出。
在本文中,我们讲解了 Golang 中的 NewTicker() 函数,通过上述示例,我们可以看到,使用 NewTicker() 函数可以轻松地实现周期性任务。在实际开发中,该函数还可以用于定时清理缓存、定时刷新数据等多种场景。