📅  最后修改于: 2023-12-03 14:50:55.681000             🧑  作者: Mango
在编写 Go 代码时,常常需要根据不同情况来执行不同的代码。Go 语言提供了选择语句来解决这个问题。
if 语句用于根据一个条件判断来执行不同的代码。
if condition {
// condition 为真时执行的代码
} else {
// condition 为假时执行的代码
}
示例:
age := 18
if age >= 18 {
fmt.Println("成年了")
} else {
fmt.Println("未成年")
}
switch 语句用于根据不同的值执行不同的代码。
switch variable {
case value1:
// variable 等于 value1 时执行的代码
case value2:
// variable 等于 value2 时执行的代码
default:
// variable 不等于任何一个 case 时执行的代码
}
示例:
dayOfWeek := 2
switch dayOfWeek {
case 1:
fmt.Println("星期一")
case 2:
fmt.Println("星期二")
case 3:
fmt.Println("星期三")
case 4:
fmt.Println("星期四")
case 5:
fmt.Println("星期五")
default:
fmt.Println("周末")
}
select 语句用于等待多个通道中的数据到达。
select {
case <- channel1:
// channel1 有数据到达时执行的代码
case <- channel2:
// channel2 有数据到达时执行的代码
default:
// 所有通道都没有数据到达时执行的代码
}
示例:
func main() {
channel1 := make(chan int)
channel2 := make(chan int)
go func() {
for i := 0; i < 5; i++ {
channel1 <- i
}
}()
go func() {
for i := 0; i < 5; i++ {
channel2 <- i * i
}
}()
for i := 0; i < 10; i++ {
select {
case x := <-channel1:
fmt.Printf("channel1: %d\n", x)
case x := <-channel2:
fmt.Printf("channel2: %d\n", x)
}
}
}
以上就是在 Go 语言中选择语句的介绍。