Golang中的流程控制关键字break

break语句可以结束forswitchselect的代码块。

Go语言使用break注意事项

1.单独在select中使用break和不使用break没有什么区别。

2.单独在表达式switch语句,并且没有fallthough,使用break和不使用break没有什么区别。

3.单独在表达式switch语句,并且有fallthough,使用break能够终止fallthough后面的case语句的执行。

4.带标签的break,可以跳出多层select/switch作用域。让break更加灵活,写法更加 简单灵活,不需要使用控制变量一层一层跳出循环,没有带break的只能跳出当前语句块。

Golang中break关键字实例

跳出for循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package main

import "fmt"

func for_break() {
for i := 0; i < 10; i++ {
fmt.Printf("i: %v\n", i)
if i >= 5 {
break
}
}
}

func main() {
for_break()
}

运行结果

1
2
3
4
5
6
i: 0
i: 1
i: 2
i: 3
i: 4
i: 5

跳出switch的fallthough穿透

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package main

import "fmt"

func switch_break() {
i := 2
switch i {
case 1:
fmt.Println("1")
break
case 2:
fmt.Println("2")
break
fallthrough
case 3:
fmt.Println("3")
}
}
func main() {
switch_break()
}

运行结果

1
2

跳出标签

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package main

import "fmt"

func lab_break() {
MYLABEL:

for i := 0; i < 10; i++ {
fmt.Printf("i: %v\n", i)
if i >= 5 {
break MYLABEL
}
}
fmt.Println("END...")
}

func main() {
lab_break()
}

运行结果

1
2
3
4
5
6
7
i: 0
i: 1
i: 2
i: 3
i: 4
i: 5
END...