آموزش Tickers در گولنگ

توسط mrbardia72
زمان خواندن ~1 دقیقه
آموزش  Tickers در گولنگ

در این آموزش ، ما در حال بررسی Tickers در Go هستیم و اینکه چگونه می توانیم از Tickers در برنامه های Go خود استفاده کنید.

Tickers در مواردی مفید هستند که شما نیاز به انجام مکرر عملی در فواصل زمانی معین داشته باشید و ما می توانیم برای اجرای این کارها در پس زمینه برنامه های خود از Tickers در ترکیب با goroutines استفاده کنیم.

فرق Tickers و Timers

قبل اینکه شروغ کنیم یه تفاوت بین Tickers و timers باید بدونیم.

Tickers -  برای کارهای repeated tasks عالی هستند

timers -  برای کارهای one-off tasks استفاده می شوند

یه مثال ساده

یه مثال ساده می خواهیم بزنیم که میخواد tock رو برامون  اجرا کنه. حالا ، وقتی می خواهیم این کد را اجرا کنیم ، برنامه Go کد ما رو به طور نامحدود اجرا می کند تا زمانی که ctrl-c  را بزنیم  این برنامه هر 1 ثانیه یکبار به متن tock را در ترمینال چاپ می کند.

package main

import (
	"fmt"
	"time"
)

func main() {
	fmt.Println("Go Tickers Tutorial")
    ticker := time.NewTicker(1 * time.Second)
	for _ = range ticker.C {
		fmt.Println("tock")
	}
}

استفاده از goroutine

خوب توی این روش ما می خوایم از goroutine استفاده کنیم. خوب کد زیر رو در نظربگیرید مانند کد فوق هست اما ما اینجا از goroutine استفاده کردیم برای اجرا و از select{} استفاده کردیم که این کا رو برامون به صورت بی نهایت اجرا کنه

func backgroundTask() {
	ticker := time.NewTicker(3 * time.Second)
	for _ = range ticker.C {
		fmt.Println(time.Now(),"Tock")
	}
}

func main() {
	go backgroundTask()
	fmt.Println("The rest of my application can continue")
	select{}
}