switch和select的用法

2021-09-24 09:06:47 字數 737 閱讀 8143

switch的後面可加上條件,而select後面不能加上條件。

var name string 

...

switch name

go會依照從上至下的順序對每一條case語句中case表示式進行求值,只要被發現其表示式與switch表示式的結果相同,該case語句就會被選中。其餘的case語句會被忽略。

最後說一下fallthrough。它既是乙個關鍵字,又可以代表一條語句。fallthrough語句可被包含在表示式switch語句中的case語句中。它的作用是使控制權流轉到下乙個case。不過要注意fallthrough語句僅能作為case語句中的最後一條語句出現。並且,包含它的case語句不是其所屬switch語句的最後一條case語句。

select語句屬於條件分支流程控制語句,不過它只能用於通道。select就是監聽 io 操作,當 io 操作發生時,觸發相應的動作。

select中兩個channel同時得到型號,會隨機選取乙個進行執行。

select 會隨機選擇乙個可用通用做收發操作。所以**是有肯觸發異常,也有可能不會。單個chan如果無緩衝時,將會阻塞。但結合select可以在多個chan間等待執行。有三個原則:

select中只要有乙個case能return,則立即執行。

當如果同一時間有多個case均能return則偽隨機的方式抽取任意乙個執行。

如果沒有乙個case能return則可以執行「****ult」塊。

詳細:

switch語句和列舉首用

insert code here switch語句與if語句相似,if 表示式 switch 整形數字,變數 switch的衍生產品,列舉 enum 列舉 把一些數字放到乙個類別中,給乙個別名,暱稱 typedef tpye型別 typedef enum nsuinteger ball 列舉型別名字...

用switch語句和break語句構成的選擇結構

一 switch語句 switch語句形式如下 switch 表示式 二 switch語句的執行過程 當執行switch語句時,首先計算緊跟其後一對括號中的表示式的值,然後在switch語句體內尋找與該值吻合的case標號。如果有與該值相等的標號,則執行該標號後開始的各語句,包括在其後的所有case...

用SELECT 建立記錄和表

用select 建立記錄和表 你也許已經注意到,insert 語句與delete語句和update語句有一點不同,它一次只操作乙個記錄。然而,有乙個方法可以使insert 語句一次新增多個記錄。要作到這一點,你需要把insert 語句與select 語句結合起來,象這樣 insert mytable...