簡(jiǎn)介Go語言中的select語句的用法

在Go編程語言中的select語句的語法如下:

復(fù)制代碼 代碼如下:

select {
    case communication clause  :
       statement(s);     
    case communication clause  :
       statement(s);
    /* you can have any number of case statements */
    default : /* Optional */
       statement(s);
}

以下規(guī)則適用于select語句:

10年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站制作,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對(duì)樓梯護(hù)欄等多個(gè)行業(yè),擁有豐富的網(wǎng)站制作經(jīng)驗(yàn)。

可以有任意數(shù)量的范圍內(nèi)選擇一個(gè)case語句。每一種情況下后跟的值進(jìn)行比較,以及一個(gè)冒號(hào)。

對(duì)于case的類型必須是一個(gè)通信通道操作。

當(dāng)通道運(yùn)行下面發(fā)生的語句這種情況將執(zhí)行。在case語句中break不是必需的。

select語句可以有一個(gè)可選默認(rèn)case,它必須出現(xiàn)在select的結(jié)束前。缺省情況下,可用于執(zhí)行任務(wù)時(shí)沒有的情況下是真實(shí)的。在默認(rèn)情況下break不是必需的。

例如:

復(fù)制代碼 代碼如下:

package main

import "fmt"

func main() {
   var c1, c2, c3 chan int
   var i1, i2 int
   select {
      case i1 = <-c1:
         fmt.Printf("received ", i1, " from c1\n")
      case c2 <- i2:
         fmt.Printf("sent ", i2, " to c2\n")
      case i3, ok := (<-c3):  // same as: i3, ok := <-c3
         if ok {
            fmt.Printf("received ", i3, " from c3\n")
         } else {
            fmt.Printf("c3 is closed\n")
         }
      default:
         fmt.Printf("no communication\n")
   }   
}

 
讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:

no communication

文章標(biāo)題:簡(jiǎn)介Go語言中的select語句的用法
文章分享:http://muchs.cn/article4/gppioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站維護(hù)、電子商務(wù)、品牌網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司