go語言之進階篇定時器Timer的使用


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

  


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com