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

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.

主站蜘蛛池模板: 华亭县| 桂阳县| 建水县| 赤城县| 平山县| 松溪县| 徐州市| 靖边县| 洮南市| 盐池县| 望奎县| 体育| 山东省| 高雄市| 江门市| 徐水县| 县级市| 定兴县| 乌海市| 双牌县| 乐陵市| 保靖县| 张家界市| 延长县| 砚山县| 深州市| 特克斯县| 昌乐县| 广水市| 汕尾市| 班玛县| 桃园县| 宁城县| 彰化市| 酉阳| 湖州市| 太谷县| 黑龙江省| 芜湖市| 桃园县| 合江县|