日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

golang中的定时器

發布時間:2025/6/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 golang中的定时器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

定時器

type Timer struct {C<-chan Timer runtimeTimer }

Timer

一個定時器,代表未來的一個單一事件,你可以告訴timer你要等待多長時間,它提供一個channel,在將來的那個時間channel提供了一個時間值

延時

time.NewTimer時間到了,只響應一次

func main() {//time.NewTimer時間到了,只響應一次//創建一個定時器,設置時間為2s,2s后,往time通道寫內容(當前時間)timer := time.NewTimer(2 * time.Second)fmt.Println("當前時間: ", time.Now())//2s后,往timer.c寫數據,有數據后,就可以讀取t := <-timer.C //channel沒有數據前后阻塞fmt.Println("t = ", t) }

time.After(2 * time.Second)延遲多少秒產生個事件

func main() {//定時2秒,2秒后產生一個事件,往channel里面寫內容<-time.After(2 * time.Second)fmt.Println("時間到") }

停止

關閉定時器,定時器就不起作用了

func main() {timer := time.NewTimer(3 * time.Second)go func() {<-timer.Cfmt.Println("子協程可以打印了,因為定時器的時間到了")}()//關閉定時器timer.Stop()for {} }

重置

func main() {timer := time.NewTimer(3 * time.Second)//重置上面的那個無效flag := timer.Reset(1 * time.Second)fmt.Println(flag) //true<-timer.Cfmt.Println("時間到") }

Ticker

定時觸發的計時器,它會以一個間隔(interval)往channel發送一個事件(當前時間),而channel的接收者可以以固定的時間間隔從channel中讀取事件

func main() {ticker := time.NewTicker(1 * time.Second)i := 0for {<-ticker.Ci++fmt.Println("i = ", i)if i ==5 {//停止tickerticker.Stop()break}} }

不斷取出數據

intChan2 := getIntChan() for elem := range intChan2 {fmt.Printf("The element in intChan2: %v\n", elem) }

我把調用getIntChan得到的結果值賦給了變量intChan2,然后用for語句循環地取出了該通道中的所有元素值,并打印出來。

這里的for語句也可以被稱為帶有range子句的for語句。它的用法我在后面講for語句的時候專門說明。現在你只需要知道關于它的三件事。

一、這樣一條for語句會不斷地嘗試從intChan2種取出元素值,即使intChan2被關閉,它也會在取出所有剩余的元素值之后再結束執行。

二、當intChan2中沒有元素值時,它會被阻塞在有for關鍵字的那一行,直到有新的元素值可取。

三、假設intChan2的值為nil,那么它會被永遠阻塞在有for關鍵字的那一行。

這就是帶range子句的for語句與通道的聯用方式。不過,它是一種用途比較廣泛的語句,還可以被用來從其他一些類型的值中獲取元素。除此之外,Go 語言還有一種專門為了操作通道而存在的語句:select語句

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的golang中的定时器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。