GO语言:时间处理

78 阅读1分钟
package main

import (
	"fmt"
	"time"
)

func main() {
	timer1 := time.NewTimer(time.Second * 5)
	<-timer1.C //阻塞,5秒后继续执行
	fmt.Println("wait for timer1")

	timer2 := time.NewTimer(time.Second * 15)
	go func() {
		<- timer2.C//阻塞,15秒后继续执行
		fmt.Println("wait for timer2")
	}()
	
	stop2 := timer2.Stop()//取消timer2的阻塞
	if stop2 {
		fmt.Println("timer2 end")
	}
}
package main

import (
	"fmt"
	"time"
)

func main() {
	ticker := time.NewTicker(time.Second)//每秒执行一次
	go func() {
		for t := range ticker.C {
			fmt.Println("tick:", t)
		}
	}()

	time.Sleep(time.Second * 20)
	ticker.Stop()
	fmt.Println("game over")
}