Golang学习笔记(十四):Switch语句
switch语句的使用
Go语言中的switch语句与if语句一样,用于条件判断,在Go语言中,对于像其他语句中需要使用if…else if进行多重判断的逻辑,推荐使用switch语句来判断。
switch的一般格式如下所示,其中expr可以是任意类型的值,switch语句会将expr与case分支后面的类型比较,所以case后面跟的表达式得到的类型与expr必须是相同的,如果有分支相等,则执行该分支下的代码,如果都不匹配,有default分支,则执行default分支。
switch expr {
case:v1
语句体
case:v2
语句体
default:
语句体
}
下面使用一个示例演示switch的简单使用,该示例运行结果为输出test。
package main
import "fmt"
func main() {
expr := "test"
switch expr {
case "test1":
fmt.Printf("test1")
case "test":
fmt.Println("test")
case "test2":
fmt.Println("test2")
default:
fmt.Println("default")
}
}
如果你有其他编程语言的经验,应该知道其他编程语言使用swtich,必须使用break语句断开case分支,否则swtich语句会在执行满足条件的case语句后,继续执行后面的case语句,则在Go语言则不需要这么做。
如果需要swtich语句在执行满足条件的case语句后,继续执行后面的语句,则可以使用fallthrough语句,我们在上面例子中添加fallthrough,则在执行case “test”分支的代码后,也会执行后面的分支。
case "test":
fmt.Println("test")
fallthrough
swtich语句后面的expr也是可以省略的,如果省略,则默认expr为bool型的true,因此,case分支后面的表达式的值也必须是bool型
swtich {
}
相当于
swtich true{
}
ft_authoradmin ft_create_time2019-08-03 17:08
ft_update_time2019-08-03 17:08
ft_update_time2019-08-03 17:08