golang中switch的使用
2021-01-02 本文已影响0人
七八个星天
switch使用与其他语言类似,多个判断条件可以写在同1行,用","分隔,只要满足一个就执行。
defalt表示默认分支,当所有分支都不满足条件则执行default
var floor int
floor = 3
switch floor {
case 1:
fmt.Println("您将要到达1楼")
//多个判断条件可以写在1行,用","分隔,只要满足一个就执行
case 2,3,4:
fmt.Println("您将要到达2-4楼")
case 5:
fmt.Println("您将要到达:5楼")
case 6:
fmt.Println("您将要到达6楼")
case 7:
fmt.Println("这是最顶层")
default:
fmt.Println("无法到达")
}
亦可把判断条件写在case后面,例如:
var floor int
floor = 3
switch {
case floor >6:
fmt.Println("您将要到达高层")
case floor >3:
fmt.Println("您将要到达中层")
default:
fmt.Println("您将要到达低层")
}
默认每个分支break,fallthrough关键词可以强制执行下一个分支,无论下一个分支条件是否满足。
目前还不明白这个逻辑的适用场景。
floor := 5
switch {
case floor >3:
fmt.Println("您将要到达高层")
//下面的分支无论是否满足条件都会强制执行
fallthrough
case floor >6:
fmt.Println("您将要到达中层")
default:
fmt.Println("您将要到达低层")
}