温馨提示×

Go语言中的Ticker如何使用

小亿
122
2024-04-12 14:55:07
栏目: 编程语言

Ticker是一个定时触发的定时器,它会每隔一段时间向一个通道发送一个事件。

下面是一个简单的示例,演示了如何使用Ticker来定时执行任务:

package main

import (
    "fmt"
    "time"
)

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

    // 创建一个通道来接收Ticker事件
    tickerChan := ticker.C

    // 定义一个计数器
    count := 0

    for {
        select {
        case <-tickerChan:
            // 每次收到Ticker事件时执行的任务
            count = count + 1
            fmt.Println("Ticker event ", count)

            // 如果计数器达到5,停止Ticker
            if count == 5 {
                ticker.Stop()
                fmt.Println("Ticker stopped")
                return
            }
        }
    }
}

在上面的示例中,我们首先创建了一个每隔1秒触发一次的Ticker,并通过ticker.C获取了一个通道来接收Ticker事件。然后使用一个无限循环来监听通道,每次收到Ticker事件时执行相应的任务。在这个示例中,我们设置一个计数器,当计数器达到5时停止Ticker。

当运行上面的代码时,你会看到每隔1秒输出一次"Ticker event",当计数器达到5时会停止输出并停止Ticker。

0