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          }     } }