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
         }
    }
}
 
 
posted @ 2021-03-03 21:15  GPHPER  阅读(100)  评论(0编辑  收藏  举报
TOP