官术网_书友最值得收藏!

The switch statement

Now, let's look at the switch statement. Here is what it looks like:

switch x {
case 5:
fmt.Println("5")
case 6:
fmt.Println("6")

default:

fmt.Println("default case")
}

If you haven't noticed already, there is no break keyword. In Go, each case breaks automatically, and doesn't need to be told to do so.

Similar to if statements, you can do an initialization in your switch statement:

switch x := getX();x {
case 5:
fmt.Println("5")
case 6:
fmt.Println("6")

default:

fmt.Println("default case")
}

In Go, a switch statement can act like a group of if else. This gives you the ability to write long if else chains with much nicer code:

switch{
case x == 5:
//do something
case x > 10:
// do something else
default:
//default case
}

In some scenarios, you want your switch cases not to break automatically, and instead fall through to the next case. For this, you can use the fallthrough keyword:

switch{
case x > 5:
//do something
fallthrough
case x > 10:
// do something else. If x is greater than 10, then the first case will execute first, then this case will follow
default:
//default case
}

Following conditional statements, let's take a look at loops.

主站蜘蛛池模板: 射洪县| 吉林省| 安顺市| 禄劝| 武穴市| 织金县| 乌鲁木齐县| 克山县| 昂仁县| 尖扎县| 曲沃县| 南郑县| 潍坊市| 三台县| 蒙山县| 香港| 乌恰县| 堆龙德庆县| 中卫市| 县级市| 冀州市| 张家界市| 大余县| 宽甸| 新乡市| 台东市| 寻乌县| 巴青县| 阳泉市| 浑源县| 玉龙| 明溪县| 保山市| 塔城市| 隆尧县| 枣阳市| 昌吉市| 聊城市| 连江县| 新干县| 桐梓县|