温馨提示×

Go语言定时器如何设置间隔

小樊
83
2024-11-02 16:54:29
栏目: 编程语言

在Go语言中,你可以使用time包中的Ticker类型来创建一个定时器,从而设置间隔。以下是一个简单的示例:

package main

import (
	"fmt"
	"time"
)

func main() {
	// 创建一个定时器,每隔1秒触发一次
	ticker := time.NewTicker(1 * time.Second)

	// 使用一个通道来接收定时器的信号
	done := make(chan bool)

	// 启动一个goroutine来处理定时器的信号
	go func() {
		for {
			select {
			case <-done:
				return
			case t := <-ticker.C:
				fmt.Println("定时器触发,当前时间:", t)
			}
		}
	}()

	// 让定时器运行一段时间,然后停止它
	time.Sleep(5 * time.Second)
	ticker.Stop()
	done <- true
	fmt.Println("定时器已停止")
}

在这个示例中,我们创建了一个每隔1秒触发的定时器。通过使用time.NewTicker()函数创建一个Ticker类型的变量,然后使用ticker.C通道来接收定时器的信号。我们在一个goroutine中处理定时器的信号,并在5秒后停止定时器。

0