📜  在 Go 语言中选择语句(1)

📅  最后修改于: 2023-12-03 14:50:55.681000             🧑  作者: Mango

在 Go 语言中选择语句

在编写 Go 代码时,常常需要根据不同情况来执行不同的代码。Go 语言提供了选择语句来解决这个问题。

if 语句

if 语句用于根据一个条件判断来执行不同的代码。

if condition {
    // condition 为真时执行的代码
} else {
    // condition 为假时执行的代码
}

示例:

age := 18
if age >= 18 {
    fmt.Println("成年了")
} else {
    fmt.Println("未成年")
}
switch 语句

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 语句用于等待多个通道中的数据到达。

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 语言中选择语句的介绍。