在我们使用 for 循环 时,在某种条件满足的情况下,需要终止循环的继续执行,在 Go 语言 中,终止循环的继续运行使用的 关键字 为 break。
Go 语言的 break 语句,有与其他编程语言类似的功能,但不同的是,Go 语言的 break 语句还可以选择中断的循环。
for i := startIndex; i < endIndex; i++{
//do something
if condition {
break
}
}
上面的循环是在 condition 条件满足的情况下,使用了 break,终止 for 循环。
loop:
for i := startIndex; i < endIndex; i++{
//do something
if condition {
break loop
}
}
上面的循环是在 condition 条件满足的情况下,终止 for 循环,运行 loop 同级层次的代码,注意这里的 loop 是标签,后面需要加上 :
。
使用 break 语句,终止循环
package main
import "fmt"
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
// 使用 break语句,终止循环
for i := 0; i < 10; i++ {
if i >= 3{
break
}
fmt.Println("i =", i)
}
fmt.Println("Over")
}
程序运行后,控制台输出如下:
首先,我们定义了一个 for循环,该循环从 0 开始到 10 结束,每次循环循环控制 变量 加 1,并打印当前循环控制变量的值。
但,我们这里使用了 if 语句 判断,如果循环控制变量的值已经大于等于 3 了,那么我们就使用 break 语句来终止循环,因此最终结果只输出了 0,1,2,因为到 3 的时候,整个循环被 break 语句终止了。
使用 break 语句,终止双重循环
package main
import "fmt"
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
// 使用 break语句,终止双重循环
for i := 0; i < 3; i++ {
for j := 0; j < 20; j++{
if j >= 2{
break
}
fmt.Println("i =", i, "j =", j)
}
}
fmt.Println("Over")
}
程序运行后,控制台输出如下:
首先,我们定义了一个 for 循环,该循环从 0 开始到 3 结束,每次循环循环控制变量加 1。
同时,我们在外层的 for 循环里面又定义了一个 for 循环,该循环从 0 开始到 20 结束,每次循环循环控制变量加 1,并在该循环里面打印循环控制变量 i 和 j 的值。
我们在第二层循环里面使用了 if 语句判断,如果循环控制变量的值已经大于等于 2 了,那么我们就使用 break 语句来终止循环。
我们看到最终 j 的值最大只能输出到 1,但 i 的值可以全部输出,因为这的 break 语句只能终止内层的 for 循环,外层的 for 循环该 break 语句是无法终止的。
使用 break 语句,终止到指定循环
package main
import "fmt"
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
loop:
// 使用 break语句,终止到指定循环
for i := 0; i < 3; i++ {
for j := 0; j < 20; j++{
if j >= 2{
break loop
}
fmt.Println("i =", i, "j =", j)
}
}
fmt.Println("Over")
}
程序运行后,控制台输出如下:
首先,我们定义了一个 for 循环,该循环从 0 开始到 3 结束,每次循环循环控制变量加 1。
同时,我们在外层的 for 循环里面又定义了一个 for 循环,该循环从 0 开始到 20 结束,每次循环循环控制变量加 1,并在该循环里面打印循环控制变量 i 和 j 的值。
我们在第二层循环里面使用了 if 语句判断,如果循环控制变量的值已经大于等于 2 了,那么我们就使用 break 语句来终止循环,并且,我们在 break 后面加上了 loop 标签。
我们看到最终 j 的值最大只能输出到 1,i 的值只输出了 0,因为这的 break 语句终止到了 loop 标签,而 loop 标签指向的就是最外层的循环,因此该 break 语句终止了两层循环。
在 Go 语言中,终止循环的继续运行使用的关键字为 break。Go 语言 break 语句语法:
for i := startIndex; i < endIndex; i++{
//do something
if condition {
break
}
}
Go 语言 break 终止指定循环:
loop:
for i := startIndex; i < endIndex; i++{
//do something
if condition {
break loop
}
}