Golang語言基礎教程 switch分支語句

2021-10-07 14:31:22 字數 1525 閱讀 6181

程式的流程控制結構一共有三種:順序結構,選擇結構,迴圈結構。

switch是乙個條件語句,它計算表示式並將其與可能匹配的列表進行比較,並根據匹配執行**塊。它可以被認為是一種慣用的方式來寫多個if else子句。

switch 語句用於基於不同條件執行不同動作,每乙個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。 switch 語句執行的過程從上至下,直到找到匹配項,匹配項後面也不需要再加break。

而如果switch沒有表示式,它會匹配true

go裡面switch預設相當於每個case最後帶有break,匹配成功後不會自動向下執行其他case,而是跳出整個switch, 但是可以使用fallthrough強制執行後面的case**。

變數 var1 可以是任何型別,而 val1 和 val2 則可以是同型別的任意值。型別不被侷限於常量或整數,但必須是相同的型別;或者最終結果為相同型別的表示式。 您可以同時測試多個可能符合條件的值,使用逗號分割它們,例如:case val1, val2, val3。

switch var1
示例**:

package main

​import "fmt"

​func main()

​ switch

fmt.printf("你的等級是 %s\n", grade );

}

如需貫通後續的case,就新增fallthrough

package main

​import (

"fmt")​

type data [2]int

​func main() ​}

執行結果:

15

35

case中的表示式是可選的,可以省略。如果該表示式被省略,則被認為是switch true,並且每個case表示式都被計算為true,並執行相應的**塊。

示例**:

package main

​import (

"fmt")​

func main()

​}

switch的注意事項
case後的常量值不能重複

case後可以有多個常量值

fallthrough應該是某個case的最後一行。如果它出現在中間的某個地方,編譯器就會丟擲錯誤。

switch 語句還可以被用於 type-switch 來判斷某個 inte***ce 變數中實際儲存的變數型別。

switch x.(type)

package main

​import "fmt"

​func main()

switch i := x.(type)

}

執行結果:

x 的型別 :

Golang語言基礎教程 if分支語句

程式的流程控制結構一共有三種 順序結構,選擇結構,迴圈結構。順序結構 從上向下,逐行執行。選擇結構 條件滿足,某些 才會執行。0 1次 分支語句 if,switch,select 迴圈結構 條件滿足,某些 會被反覆的執行多次。0 n次 迴圈語句 for 語法格式 if 布林表示式 if 布林表示式 ...

Golang語言基礎教程 函式的引數

形式引數 定義函式時,用於接收外部傳入的資料,叫做形式引數,簡稱形參。實際引數 呼叫函式時,傳給形參的實際的資料,叫做實際引數,簡稱實參。函式呼叫 a 函式名稱必須匹配 b 實參與形參必須一一對應 順序,個數,型別 go函式支援變參。接受變參的函式是有著不定數量的引數的。為了做到這點,首先需要定義函...

golang基礎教程(十四)異常處理

golang基礎教程 編寫的程式難免有異常,異常分為 編譯時異常 在編譯時丟擲的異常,編譯不通過,語法使用錯誤,符號填寫錯誤等等。執行時異常 在程式執行時丟擲的異常,這個才是我們將要說的,程式執行時,有很多狀況發生,例如 讓使用者輸入乙個數字,可使用者偏偏輸入乙個字串,導致的異常,陣列的下標越界,空...