Golang学习笔记(十四):Switch语句

·  阅读 233

原创作者,公众号【程序员读书】,欢迎关注公众号,转载文章请注明出处哦。

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{
    
    
}
复制代码

你的关注,是我写作路上最大的鼓励!

分类:
阅读
标签:
收藏成功!
已添加到「」, 点击更改