假設我們想要寫一個程式,印出數字的英文,我們可以用較早之前學到的方法處理:
if i == 0 {
fmt.Println("Zero")
} else if i == 1 {
fmt.Println("One")
} else if i == 2 {
fmt.Println("Two")
} else if i == 3 {
fmt.Println("Three")
} else if i == 4 {
fmt.Println("Four")
} else if i == 5 {
fmt.Println("Five")
}
因為用這個方式來寫程式有點乏味,所以 Go 提供另一種比較簡單的寫法:switch
statement,我們可以像這樣來重寫程式:
switch i {
case 0: fmt.Println("Zero")
case 1: fmt.Println("One")
case 2: fmt.Println("Two")
case 3: fmt.Println("Three")
case 4: fmt.Println("Four")
case 5: fmt.Println("Five")
default: fmt.Println("Unknown Number")
}
switch statement 以 switch
為開頭,並接著一個表示式(expression)【本例為 i
】,並接著一連串的 case
。表示式的值會與每個關鍵字 case
後頭的表示式比較,如果相等,則會執行 :
後面的 statements。
與 if statement 類似,由上而下檢查每個 case,並選擇第一個成功的 case。switch 也有提供 default(預設的)case,若在 default 之前的 cases 都沒有符合條件,則會執行這個 default case(類似 if statement 裡的 else)。
以上是主要的流程控制 statements,其它部分將在後續章節探討。