Go语言 switch case语句

基本写法

Go语言改进了 switch 的语法设计,case 与 case 之间是独立的代码块,不需要通过 break 语句跳出当前 case 代码块以避免执行到下一行,示例代码如下:

var str = "hello"

    //基本用法
    switch str {
    case "good":
        fmt.Println("Good morning")
    case "hello":
        fmt.Println("hello everyone")
    default:
        fmt.Println("hi")

    }

代码输出如下:

hello everyone

1) 一分支多值

当出现多个 case 要放在一起的时候,可以写成下面这样:

    //一分支,多值
    switch str {
    case "hello", "nihao":
        fmt.Printf("一分支,多值:%s 
", str)
    default:
        fmt.Println("hi")
    }

不同的 case 表达式使用逗号分隔。

2) 分支表达式

case 后不仅仅只是常量,还可以和 if 一样添加表达式,代码如下:

//分支表达式
    var num = 7
    switch {
    case num > 1 && num < 5:
        fmt.Println("小于5的数")
    case num > 5 && num < 10:
        fmt.Println("大于5,小于10的数")
    }

代码输出如下:

大于5,小于10的数
原文地址:https://www.cnblogs.com/personblog/p/12266775.html