1. 程式人生 > >golang的Timer定時器

golang的Timer定時器

now() 計時器 imp red 設置 修改 after eset res

// code_047_Timer project main.go package main import ( "fmt" "time" ) func main() { timer1 := time.NewTimer(time.Second * 2) t1 := time.Now() fmt.Printf("t1:%v\n", t1) t2 := <-timer1.C fmt.Printf("t2:%v\n", t2) //如果只是想單純的等待的話,可以使用 time.Sleep 來實現 timer2 := time.NewTimer(time.Second * 2) <-timer2.C fmt.Println("2s後") time.Sleep(time.Second * 2) fmt.Println("再一次2s後") <-time.After(time.Second * 2) //time.After函數的返回值是chan Time fmt.Println("再再一次2s後") timer3 := time.NewTimer(time.Second) go func() { <-timer3.C fmt.Println("Timer 3 expired") }() stop := timer3.Stop() //停止定時器 ////阻止timer事件發生,當該函數執行後,timer計時器停止,相應的事件不再執行 if stop { fmt.Println("Timer 3 stopped") } fmt.Println("before") timer4 := time.NewTimer(time.Second * 5) //原來設置5s timer4.Reset(time.Second * 1) //重新設置時間,即修改NewTimer的時間 <-timer4.C fmt.Println("after") }

golang的Timer定時器