
如何在 Golang 中使用匿名函数实现计时器或延迟?
在 Golang 中,匿名函数提供了一种简单的方法来创建计时器或延迟函数,而无需声明命名函数。
示例:创建一个计时器
func main() {
// 创建一个计时器,每秒打印一次消息
ticker := time.NewTicker(time.Second)
defer ticker.Stop() // 确保在 main 函数退出时停止计时器
for {
select {
case <-ticker.C:
fmt.Println("一秒已过")
}
}
}示例:创建延迟
立即学习“go语言免费学习笔记(深入)”;
func main() {
// 创建一个延迟,在 5 秒后打印消息
time.AfterFunc(5*time.Second, func() {
fmt.Println("五秒已过")
})
// 为了让主程序保持活动状态并执行延迟函数,我们需要使用无限循环
for {}
}在上面这两个示例中,匿名函数用于定义计时器或延迟的回调逻辑。回调函数将在适当的时间执行。
以下是一些使用匿名函数实现计时器或延迟的附加提示:
- 使用
time.AfterFunc函数创建延迟时,回调函数将只执行一次。 - 使用
time.NewTicker函数创建计时器时,回调函数将重复执行,直到计时器停止。 - 可以使用
time.After函数创建不会自动重复执行的计时器。 - 记住在创建计时器或延迟后使用
defer语句来停止它们,以防止资源泄漏。










