tick.go 658 B

123456789101112131415161718192021222324252627282930313233343536
  1. package main
  2. import (
  3. "fmt"
  4. "time"
  5. )
  6. func main() {
  7. ticker := time.NewTicker(time.Second)
  8. i := 0
  9. for tickTime := range ticker.C {
  10. i++
  11. fmt.Println("step", i, "time", tickTime)
  12. if i >= 5 {
  13. // надо останавливать, иначе потечет
  14. ticker.Stop()
  15. break
  16. }
  17. }
  18. fmt.Println("total", i)
  19. return
  20. // не может быть остановлен и собран сборщиком мусора
  21. // используйте если должен работать вечено
  22. c := time.Tick(time.Second)
  23. i = 0
  24. for tickTime := range c {
  25. i++
  26. fmt.Println("step", i, "time", tickTime)
  27. if i >= 5 {
  28. break
  29. }
  30. }
  31. }