Golang(Go語言)中的條件語句允許你根據(jù)條件表達式的真假來執(zhí)行不同的代碼塊。Go語言提供了if
語句和switch
語句來實現(xiàn)條件控制。
if
語句if
語句是Go語言中用于條件控制的基本語句。它的基本形式如下:
if condition {
// 如果condition為真,則執(zhí)行這里的代碼
} else if anotherCondition {
// 如果上面的condition為假,但anotherCondition為真,則執(zhí)行這里的代碼
} else {
// 如果所有的condition都為假,則執(zhí)行這里的代碼(可選)
}
示例:
package main
import "fmt"
func main() {
score := 85
if score >= 90 {
fmt.Println("優(yōu)秀")
} else if score >= 60 {
fmt.Println("及格")
} else {
fmt.Println("不及格")
}
}
switch
語句switch
語句是另一種用于條件控制的結構,它允許一個變量或表達式的值與多個case
子句進行匹配。如果找到匹配項,則執(zhí)行該case
子句中的代碼。Go語言的switch
語句非常靈活,它不僅可以用于整數(shù)、浮點數(shù)等,還可以用于字符串和布爾值,甚至不需要顯式地提供每個case
后面的條件表達式(即“隱式switch
”或“類型switch
”)。
基本形式:
switch expression {
case value1:
// 如果expression等于value1,則執(zhí)行這里的代碼
case value2:
// 如果expression等于value2,則執(zhí)行這里的代碼
...
default:
// 如果沒有任何case匹配,則執(zhí)行這里的代碼(可選)
}
隱式(或類型)switch
形式:
switch variable.(type) {
case type1:
// 如果variable的類型是type1,則執(zhí)行這里的代碼
case type2:
// 如果variable的類型是type2,則執(zhí)行這里的代碼
...
default:
// 如果variable不是上述任何類型,則執(zhí)行這里的代碼(可選)
}
示例(基本形式):
package main
import "fmt"
func main() {
grade := "B"
switch grade {
case "A":
fmt.Println("優(yōu)秀")
case "B", "C":
fmt.Println("良好")
case "D":
fmt.Println("及格")
default:
fmt.Println("不及格")
}
}
示例(隱式switch
):
package main
import (
"fmt"
)
func do(i interface{}) {
switch v := i.(type) {
case int:
fmt.Printf("Two integers: %d\n", v)
case string:
fmt.Printf("A string: %s\n", v)
default:
fmt.Printf("I don't know about type %T!\n", v)
}
}
func main() {
do(21)
do("hello")
do(true)
}
在上面的隱式switch
示例中,do
函數(shù)接收一個interface{}
類型的參數(shù)i
,并使用switch
語句來確定i
的實際類型,并執(zhí)行相應的代碼塊。注意,對于true
(布爾值),它不會匹配任何case
,因此會執(zhí)行default
分支。
上一篇: Golang 語言運算符
下一篇: Golang 語言循環(huán)語句