go语言 – switch语句

switch是一个条件语句,它计算一个表达式的值,将其与可能匹配的值进行比较,然后根据匹配结果执行代码块。它可以看作是书写多个if else子句的更好替代方法。

让我们看一个示例,它以手指号作为输入,然后输出该手指的名称。例如,1是拇指,2是食指,等等。

package main

import (  
    "fmt"
)

func main() {  
    finger := 4
    switch finger {
    case 1:
        fmt.Println("Thumb")
    case 2:
        fmt.Println("Index")
    case 3:
        fmt.Println("Middle")
    case 4:
        fmt.Println("Ring")
    case 5:
        fmt.Println("Pinky")

    }
}

在上面的程序中,switch fingerfinger的值与每个case语句进行比较。从上到下匹配每个case,执行首个匹配case的代码。在本例中,finger的值为4,因此打印了Ring

不允许重复使用相同的常数值。如果你试图运行下面的程序,编译器会报错

main.go:18:2: duplicate case 4 in switch previous case at tmp/sandbox887814166/main.go:16:7

package main

import (  
    "fmt"
)

func main() {  
    finger := 4
    switch finger {
    case 1:
        fmt.Println("Thumb")
    case 2:
        fmt.Println("Index")
    case 3:
        fmt.Println("Middle")
    case 4:
        fmt.Println("Ring")
    case 4://duplicate case
        fmt.Println("Another Ring")
    case 5:
        fmt.Println("Pinky")

    }
}

章节



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载