golang學習筆記——定時器

Timer定時器
  • 啓動
package main
 
import (
    "fmt"
    "time"
)
 
func main() {
    <-time.After(2 * time.Second)
    fmt.Println("延時兩秒")
}
 
func main02() {
    time.Sleep(2 * time.Second)
    fmt.Println("延時兩秒")
}
 
func main01() {
    //timer 只能執行一次
    timer := time.NewTimer(2 * time.Second)
    <-timer.C
    fmt.Println("延時兩秒")
}
  • 停止
package main
 
import (
    "fmt"
    "time"
)
 
func main() {
    timer := time.NewTimer(3 * time.Second)
 
    go func() {
         <-timer.C
         fmt.Println("三秒後執行")
    }()
 
    //停止定時器
    timer.Stop()
 
    for {
 
    }
 
}
  • 重置
package main
 
 
import (
    "fmt"
    "time"
)
 
func main() {
    timer := time.NewTimer(3 * time.Second)
 
    //重置爲1秒鐘
    timer.Reset(time.Second)
 
    go func() {
         <-timer.C
         fmt.Println("定時執行")
    }()
 
    for {
 
    }
 
}
 
Ticker定時器(循環執行)
package main
 
import (
    "fmt"
    "time"
)
 
func main() {
    ticker := time.NewTicker(time.Second)
    i := 0
    for {
         i++
         <-ticker.C
         fmt.Println(i)
         if i == 5 {
                 ticker.Stop()
                 break
         }
    }
}
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章