溫馨提示×

Go語言怎么實(shí)現(xiàn)定時(shí)器任務(wù)

小億
88
2024-02-21 16:06:24
欄目: 編程語言

在Go語言中,可以使用標(biāo)準(zhǔn)庫中的time包來實(shí)現(xiàn)定時(shí)器任務(wù)。以下是一個(gè)簡單的示例:

package main

import (
	"fmt"
	"time"
)

func main() {
    // 創(chuàng)建一個(gè)定時(shí)器,每隔1秒觸發(fā)一次
    ticker := time.NewTicker(1 * time.Second)
    
    // 使用一個(gè)goroutine來執(zhí)行定時(shí)任務(wù)
    go func() {
        for {
            select {
            case <-ticker.C:
                // 定時(shí)任務(wù)邏輯
                fmt.Println("定時(shí)任務(wù)執(zhí)行:", time.Now())
            }
        }
    }()
    
    // 程序?qū)⒊掷m(xù)運(yùn)行10秒
    time.Sleep(10 * time.Second)
    
    // 停止定時(shí)器
    ticker.Stop()
    fmt.Println("定時(shí)任務(wù)已停止")
}

在這個(gè)示例中,通過time.NewTicker創(chuàng)建了一個(gè)每隔1秒觸發(fā)一次的定時(shí)器,然后使用一個(gè)goroutine來執(zhí)行定時(shí)任務(wù)邏輯。程序?qū)⒊掷m(xù)運(yùn)行10秒后,調(diào)用ticker.Stop()停止定時(shí)器。

通過這種方式,可以方便地實(shí)現(xiàn)定時(shí)任務(wù)邏輯,并控制定時(shí)器的啟動和停止。

0