?
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
select是Go中的一個(gè)控制結(jié)構(gòu),類似于用于通信的switch語句。每個(gè)case必須是一個(gè)通信操作,要么是發(fā)送要么是接收。
select隨機(jī)執(zhí)行一個(gè)可運(yùn)行的case。如果沒有case可運(yùn)行,它將阻塞,直到有case可運(yùn)行。一個(gè)默認(rèn)的子句應(yīng)該總是可運(yùn)行的。
Go 編程語言中 select 語句的語法如下:
select { case communication clause : statement(s); case communication clause : statement(s); default : statement(s); }
以下描述了 select 語句的語法:
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") } }
以上代碼執(zhí)行結(jié)果為:
no communication
關(guān)于我們 聯(lián)系我們 留言板
手冊(cè)網(wǎng)