校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Go語言中Select語句用法實例

Go語言中Select語句用法實例

熱門標簽:海外照相館地圖標注入駐 經常接到推銷電話機器人的電話 客服級電銷機器人 智能營銷軟件 外呼系統多少錢一年 外呼系統如何接收服務密碼 滁州自建外呼系統 工商信用卡外呼系統教程 旅游廁所如何電子地圖標注

本文實例講述了Go語言中Select語句用法。分享給大家供大家參考。具體分析如下:

select 語句使得一個 goroutine 在多個通訊操作上等待。
select 會阻塞,直到條件分支中的某個可以繼續執行,這時就會執行那個條件分支。當多個都準備好的時候,會隨機選擇一個。

復制代碼 代碼如下:
package main
import "fmt"
func fibonacci(c, quit chan int) {
        x, y := 1, 1
        for {
                select {
                case c - x:
                          x, y = y, x + y
                case -quit:
   fmt.Println("quit")
                        return
                }
        }
}
func main() {
        c := make(chan int)
 quit := make(chan int)
 go func() {
  for i := 0; i 10; i++ {
   fmt.Println(-c)
  }
  quit - 0
 }()
 fibonacci(c, quit)
}

默認選擇

當 select 中的其他條件分支都沒有準備好的時候,default 分支會被執行。

為了非阻塞的發送或者接收,可使用 default 分支:

select {
case i := -c:
// use i
default:
// receiving from c would block
}

復制代碼 代碼如下:
package main
import (
 "fmt"
 "time"
)
func main() {
        tick := time.Tick(1e8)
        boom := time.After(5e8)
        for {
                select {
                case -tick:
                        fmt.Println("tick.")
                case -boom:
                        fmt.Println("BOOM!")
                        return
                default:
                        fmt.Println("    .")
                        time.Sleep(5e7)
                }
        }
}

希望本文所述對大家的Go語言程序設計有所幫助。

您可能感興趣的文章:
  • Django forms表單 select下拉框的傳值實例
  • Golang中switch語句和select語句的用法教程
  • 利用Django框架中select_related和prefetch_related函數對數據庫查詢優化
  • Python的Django框架中的select_related函數對QuerySet 查詢的優化
  • php中的mongodb select常用操作代碼示例
  • go select編譯期的優化處理邏輯使用場景分析

標簽:運城 深圳 九江 本溪 喀什 楚雄 湘潭 晉城

巨人網絡通訊聲明:本文標題《Go語言中Select語句用法實例》,本文關鍵詞  語,言中,Select,語句,用法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言中Select語句用法實例》相關的同類信息!
  • 本頁收集關于Go語言中Select語句用法實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 汉阴县| 高密市| 封丘县| 葵青区| 喀什市| 三原县| 涡阳县| 鱼台县| 墨竹工卡县| 湾仔区| 沾益县| 聊城市| 抚州市| 陇南市| 揭阳市| 房产| 宜昌市| 濮阳市| 屯昌县| 清苑县| 江源县| 东海县| 商都县| 伊宁县| 富平县| 同江市| 石泉县| 鸡西市| 叶城县| 繁昌县| 隆子县| 奎屯市| 万荣县| 确山县| 临夏市| 亚东县| 永平县| 邯郸市| 吴忠市| 榆树市| 阳原县|