ကျွန်တော်တို့က Go code ကို အနာဂတ်မှာ တစ်ချိန်ချိန်မှာ သို့မဟုတ် သတ်မှတ်ထားတဲ့ အချိန်ကြားတွေမှာ ထပ်ခါထပ်ခါ run ချင်တာ မကြာခဏ ရှိတတ်ပါတယ်။ Go ရဲ့ built-in timer နဲ့ ticker feature တွေက ဒီအလုပ်နှစ်ခုစလုံးကို လွယ်ကူစေပါတယ်။ ပထမဆုံး timer ကိုကြည့်ပြီး နောက်မှ ticker ကို ကြည့်ပါမယ်။ |
|
package main |
|
import ( "fmt" "time" ) |
|
func main() { |
|
Timer တွေက အနာဂတ်မှာ ဖြစ်မယ့် event တစ်ခုကို ကိုယ်စားပြုပါတယ်။ သင်က timer ကို ဘယ်လောက်ကြာကြာ စောင့်ချင်လဲဆိုတာ ပြောပြပြီး အဲဒီအချိန်ရောက်ရင် အသိပေးမယ့် channel တစ်ခုကို ရပါတယ်။ ဒီ timer က 2 စက္ကန့် စောင့်ပါမယ်။ |
timer1 := time.NewTimer(2 * time.Second) |
|
<-timer1.C fmt.Println("Timer 1 fired") |
အကယ်၍ စောင့်ဆိုင်းချင်ရုံသက်သက်ဆိုရင် |
timer2 := time.NewTimer(time.Second) go func() { <-timer2.C fmt.Println("Timer 2 fired") }() stop2 := timer2.Stop() if stop2 { fmt.Println("Timer 2 stopped") } |
|
time.Sleep(2 * time.Second) } |
ပထမ timer က ပရိုဂရမ်စတင်ပြီး ~2 စက္ကန့်လောက်မှာ အလုပ်လုပ်ပါလိမ့်မယ်၊ ဒါပေမယ့် ဒုတိယ timer ကတော့ အလုပ်လုပ်ဖို့ အခွင့်အရေးမရခင် ရပ်တန့်သွားပါလိမ့်မယ်။ |
$ go run timers.go Timer 1 fired Timer 2 stopped |
နောက်ဥပမာ: Tickers.