1、Timer的使用
示例: #創建一個定時器,設置時間為2s,2s后,往time通道寫內容(當前時間)
package main
import (
"fmt"
"time"
)
//驗證time.NewTimer(),時間到了,只會響應一次
func main() {
timer := time.NewTimer(1 * time.Second)
for {
<-timer.C
fmt.Println("時間到")
}
}
func main01() {
//創建一個定時器,設置時間為2s,2s后,往time通道寫內容(當前時間)
timer := time.NewTimer(2 * time.Second)
fmt.Println("當前時間:", time.Now())
//2s后,往timer.C寫數據,有數據后,就可以讀取
t := <-timer.C //channel沒有數據前后阻塞
fmt.Println("t = ", t)
}
執行結果:
時間到 fatal error: all goroutines are asleep - deadlock! // goroutine 1 [chan receive]: main.main() D:/GoFiles/src/hello_01/mai1.go:13 +0x54
