Go语言的break和continue
提示
- Go 中的 break 语句:
break
语句在 Go 循环中用于立即终止循环,无论循环条件是否满足。在嵌套循环中,break
仅终止最内层的循环。 - Go 中的 continue 语句:
continue
语句用于跳过当前循环的剩余部分,并立即开始下一次迭代。在嵌套循环中,continue
仅影响其所在的那层循环。 - break 和 continue 的使用场景:这两个语句通常与决策语句一起使用,以根据特定条件控制循环的执行流程。
Go break 语句
break
语句在遇到时会终止循环。例如,
for 初始化; 条件; 更新 {
break
}
在这里,不论 for 循环 的条件如何,break
语句都会终止循环。
Go break 语句的工作原理
示例:Go break 语句
package main
import "fmt"
func main() {
for i := 1 ; i <= 5 ; i++ {
// 当 i 等于 3 时终止循环
if i == 3 {
break
}
fmt.Println(i)
}
}
输出
1
2
在上述示例中,我们使用了 for
循环来打印 i
的值。注意 break
语句的使用,
if i == 3 {
break
}
这里,当 i
等于 3 时,break
语句终止了循环。因此,输出中不包括 2 之后的值。
break-nested-loop 嵌套循环中的 Go break 语句
当我们在嵌套循环中使用 break
语句时,它会终止内层循环。例如,
package main
import "fmt"
func main() {
// 外层 for 循环
for i := 1; i <= 3; i++ {
// 内层 for 循环
for j := 1; j <= 3; j++ {
// 仅终止内层 for 循环
if i==2 {
break
}
fmt.Println("i=", i, "j=", j)
}
}
}
输出
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 3, j = 1
i = 3, j = 2
i = 3, j = 3
在上面的示例中,我们在内层 for 循环中使用了 break
语句。
if i == 2 {
break
}
这里,当 i
的值为 2 时,break
语句终止了内层的 for
循环。
因此,对于 i = 2
的值我们没有得到任何输出。
Go continue 语句
在 Go 中,continue
语句会跳过循环的当前迭代。它将程序的控 制流传递到下一次迭代。例如,
for 初始化; 条件; 更新 {
if 条件 {
continue
}
}
这里,不论 for 循环 的条件如何,continue
语句都会跳过循环的当前迭代。
Go continue 语句的工作原理
示例:Go continue 语句
package main
import "fmt"
func main() {
for i := 1 ; i <= 5 ; i++ {
// 当 i 等于 3 时跳过当前迭代
if i == 3 {
continue
}
fmt.Println(i)
}
}
输出
1
2
4
5
在上述示例中,我们使用了 for
循环来打印 i
的值。注意 continue
语句的使用,
if i == 3 {
continue
}
这里,当 i
等于 3 时,执行了 continue
语句。因此,它跳过了当前迭代并开始了下一次迭
代。3 这个值没有被打印到输出中。
嵌套循环中的 Go continue 语句
当我们在嵌套循环中使用 continue
语句时,它会跳过内层循环的当前迭代。例如,
package main
import "fmt"
func main() {
for i := 1; i <= 3; i++ {
for j := 1; j <= 3; j++ {
// 仅跳过内层 for 循环
if j==2 {
continue
}
fmt.Println("i=", i, "j=",j )
}
}
}
输出
i= 1 j= 1
i= 1 j= 3
i= 2 j= 1
i= 2 j= 3
i= 3 j= 1
i= 3 j= 3
在上述示例中,我们在内层 for
循环中使用了 continue
语句。
if j == 2 {
continue
}
这里,当 j
的值为 2 时,执行了 continue
语句。因此,j = 2
的值从未在输出中显示。
注意: break
和 continue
语句几乎总是与决策语句一起使用。要了解更多关于决策的信息,请访问 Golang if else。