Go - 選擇結構
Go中的選擇結構介紹
你好,未來的Go語言程式設計師!今天,我們將深入編程中最為關鍵的方面之一:選擇結構。正如真實生活中一樣,我們的程式需要根據特定條件來做出選擇。在Go語言中,我們有許多工具可以實現這些選擇。讓我們一起踏上這個令人興奮的旅程!
如果語句:選擇結構的基本積木
語法和結構
if
語句是Go語言中選擇結構的基礎。它允許我們僅當某個條件為真時執行一段代碼。這裡是基本結構:
if 條件 {
// 如果條件為真的代碼
}
讓我們看一個簡單的例子:
package main
import "fmt"
func main() {
age := 18
if age >= 18 {
fmt.Println("你符合投票資格!")
}
}
在這個例子中,我們正在檢查age
是否大於或等於18。如果是,我們打印一條消息。運行這段代碼,你會看到消息,因為18確實大於或等於18!
添加else語句
如果我們想在條件為假時做些什麼呢?這就是else
語句的用處:
package main
import "fmt"
func main() {
age := 16
if age >= 18 {
fmt.Println("你符合投票資格!")
} else {
fmt.Println("對不起,你年紀太小無法投票。")
}
}
現在,由於age
是16,小於18,所以程序會打印else
語句中的消息。
if-else if-else鏈
有時,我們需要檢查多個條件。我們可以這樣鏈接if-else
語句:
package main
import "fmt"
func main() {
score := 75
if score >= 90 {
fmt.Println("A等")
} else if score >= 80 {
fmt.Println("B等")
} else if score >= 70 {
fmt.Println("C等")
} else {
fmt.Println("需要改進")
}
}
這個程序檢查score
並打印對應的等級。由於分數為75,它會打印"C等"。
選擇語句:多路決策者
當你有多個條件要檢查,特別是當它們都在檢查同一個變量時,switch
語句可以讓你的代碼更清晰、更高效。
基本switch語法
package main
import "fmt"
func main() {
day := "Monday"
switch day {
case "Monday":
fmt.Println("這是工作周的开始!")
case "Friday":
fmt.Println("TGIF!")
default:
fmt.Println("這是一個普通的日子。")
}
}
在這個例子中,我們檢查day
的值並執行對應的case。如果沒有其他case匹配,則執行default
語句。
switch的多個case
你也可以將多個case組合在一起:
package main
import "fmt"
func main() {
day := "Saturday"
switch day {
case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("這是工作日。")
case "Saturday", "Sunday":
fmt.Println("這是週末!")
default:
fmt.Println("無效的日子。")
}
}
這段代碼會打印"這是週末!"因為Saturday是週末的日子之一。
無表達式的switch
Go語言允許你使用沒有表達式的switch
,這可以用作長的if-else鏈的替代:
package main
import "fmt"
func main() {
score := 85
switch {
case score >= 90:
fmt.Println("A等")
case score >= 80:
fmt.Println("B等")
case score >= 70:
fmt.Println("C等")
default:
fmt.Println("需要改進")
}
}
這會打印"B等",因為85大於或等於80。
條件運算符
為了使我們的條件更強大,我們使用條件運算符。以下是最常見的一些:
運算符 | 描述 | 示例 |
---|---|---|
== | 等於 | a == b |
!= | 不等於 | a != b |
< | 小於 | a < b |
> | 大於 | a > b |
<= | 小於或等於 | a <= b |
>= | 大於或等於 | a >= b |
&& | 邏輯與 | a && b |
|| | 邏輯或 | a || b |
! | 邏輯非 | !a |
讓我們看看這些運算符的使用:
package main
import "fmt"
func main() {
age := 25
hasLicense := true
if age >= 18 && hasLicense {
fmt.Println("你可以開車!")
} else if age >= 18 && !hasLicense {
fmt.Println("你年紀足夠,但你需要一個駕駛執照。")
} else {
fmt.Println("你年紀太小無法開車。")
}
}
這個程序檢查age
以及個人是否有駕駛執照,以確定是否能開車。
結論
選擇結構是編程的基本概念,Go語言為我們提供了實現它的強大工具。記住,實踐使人完美!嘗試使用if
、switch
和不同的條件運算符創建有自己特色的程序。
隨著你繼續在Go語言中的旅程,你會發現自己經常使用這些結構。它們是你程序邏輯的積木,幫助你的代碼根據不同的條件做出聰明的決策。
持續編程,持續學習,最重要的是,在Go語言中玩得開心!
Credits: Image by storyset