濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Go語(yǔ)言中Select語(yǔ)句用法實(shí)例

Go語(yǔ)言中Select語(yǔ)句用法實(shí)例

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

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

select 語(yǔ)句使得一個(gè) goroutine 在多個(gè)通訊操作上等待。
select 會(huì)阻塞,直到條件分支中的某個(gè)可以繼續(xù)執(zhí)行,這時(shí)就會(huì)執(zhí)行那個(gè)條件分支。當(dāng)多個(gè)都準(zhǔn)備好的時(shí)候,會(huì)隨機(jī)選擇一個(gè)。

復(fù)制代碼 代碼如下:
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)
}

默認(rèn)選擇

當(dāng) select 中的其他條件分支都沒(méi)有準(zhǔn)備好的時(shí)候,default 分支會(huì)被執(zhí)行。

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

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

復(fù)制代碼 代碼如下:
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)
                }
        }
}

希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。

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

標(biāo)簽:運(yùn)城 深圳 九江 本溪 喀什 楚雄 湘潭 晉城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語(yǔ)言中Select語(yǔ)句用法實(shí)例》,本文關(guān)鍵詞  語(yǔ),言中,Select,語(yǔ)句,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go語(yǔ)言中Select語(yǔ)句用法實(shí)例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Go語(yǔ)言中Select語(yǔ)句用法實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    石嘴山市| 黄平县| 临泽县| 石家庄市| 竹溪县| 乐都县| 桃园县| 康马县| 浠水县| 辉南县| 吉木萨尔县| 迭部县| 信阳市| 莱西市| 库车县| 红安县| 石景山区| 乐都县| 建阳市| 新闻| 客服| 泽州县| 商城县| 藁城市| 泰州市| 烟台市| 阳东县| 射洪县| 都兰县| 铜川市| 治多县| 襄垣县| 奇台县| 察隅县| 宜阳县| 九江县| 江陵县| 德阳市| 吐鲁番市| 桐柏县| 宁津县|