GO教程: Go 語言 switch case 語句
在 Go 語言中,switch 語句是一種控制結構,用於根據不同的條件執行不同的程式碼區塊。這種語句的使用可以使程式碼更加簡潔和易於閱讀。本文將深入探討 Go 語言中的 switch case 語句,包括其基本語法、使用範例以及一些進階特性。
基本語法
Go 語言的 switch 語句的基本語法如下:
switch 表達式 {
case 值1:
// 當表達式等於值1時執行的程式碼
case 值2:
// 當表達式等於值2時執行的程式碼
default:
// 當表達式不等於任何 case 時執行的程式碼
}在這裡,表達式可以是任何有效的 Go 表達式,而 case 後面跟隨的值則是要進行比較的常量。如果沒有任何 case 匹配,則會執行 default 區塊(如果有的話)。
範例
以下是一個簡單的範例,展示如何使用 switch 語句來根據數字輸出對應的星期幾:
package main
import "fmt"
func main() {
day := 3
switch day {
case 1:
fmt.Println("星期一")
case 2:
fmt.Println("星期二")
case 3:
fmt.Println("星期三")
case 4:
fmt.Println("星期四")
case 5:
fmt.Println("星期五")
case 6:
fmt.Println("星期六")
case 7:
fmt.Println("星期日")
default:
fmt.Println("無效的日子")
}
}在這個範例中,變數 day 的值為 3,因此程式將輸出「星期三」。
多個 case
Go 語言的 switch 語句允許在同一個 case 中列出多個值,這樣可以簡化程式碼。例如:
switch day {
case 1, 2, 3:
fmt.Println("工作日")
case 6, 7:
fmt.Println("週末")
default:
fmt.Println("無效的日子")
}在這個範例中,當 day 的值為 1、2 或 3 時,程式將輸出「工作日」。如果 day 的值為 6 或 7,則輸出「週末」。
不使用 break
與其他語言不同,Go 語言的 switch 語句不需要顯式使用 break 語句來終止 case。每個 case 的執行會自動終止,這樣可以減少錯誤的發生。
條件式 switch
Go 語言的 switch 語句還支持條件式的 case,這意味著可以在 case 中使用布林表達式。例如:
switch {
case day < 6:
fmt.Println("工作日")
case day == 6 || day == 7:
fmt.Println("週末")
default:
fmt.Println("無效的日子")
}在這個範例中,switch 語句不需要一個表達式,直接根據條件來判斷。
小結
Go 語言的 switch case 語句是一個強大且靈活的控制結構,能夠簡化條件判斷的邏輯。透過使用 switch 語句,開發者可以更清晰地表達程式的邏輯,並提高程式碼的可讀性。無論是基本的 case 判斷,還是進階的條件式 switch,這些特性都使得 Go 語言在處理多條件邏輯時更加高效。