5.6 break,continue

本篇学习 Go 中 break 与 continue 的区别与用法,并能在循环控制中正确终止或跳过分支。

字数 642 字

break 与 continue

概念说明

breakcontinue 都用于控制循环流程。
break 用于提前结束循环,continue 用于跳过本轮剩余代码并进入下一轮。

语法/规则

  1. break 默认只结束当前所在的这一层循环。
  2. continue 会跳过本轮后续语句,直接进入下一轮判断。
  3. 在嵌套循环中使用时,要注意它们只作用于最近一层循环。
  4. 使用 continue 时,循环变量更新逻辑仍需保证正确,否则可能陷入死循环。

break 示例(提前结束循环)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package main

import "fmt"

func main() {
	for i := 1; i <= 20; i++ {
		if i%7 == 0 {
			fmt.Println("第一个能被 7 整除的数是:", i)
			break
		}
	}
}

输出结果:

1
第一个能被 7 整除的数是: 7

continue 示例(打印九九乘法表下三角)

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

import "fmt"

func main() {
	for i := 1; i <= 9; i++ {
		for j := 1; j <= 9; j++ {
			if j > i {
				continue
			}
			fmt.Printf("%d * %d = %d\t", i, j, i*j)
		}
		fmt.Println()
	}
}

输出结果:

1
2
3
4
5
6
7
8
9
1 * 1 = 1
2 * 1 = 2	2 * 2 = 4
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25
6 * 1 = 6	6 * 2 = 12	6 * 3 = 18	6 * 4 = 24	6 * 5 = 30	6 * 6 = 36
7 * 1 = 7	7 * 2 = 14	7 * 3 = 21	7 * 4 = 28	7 * 5 = 35	7 * 6 = 42	7 * 7 = 49
8 * 1 = 8	8 * 2 = 16	8 * 3 = 24	8 * 4 = 32	8 * 5 = 40	8 * 6 = 48	8 * 7 = 56	8 * 8 = 64
9 * 1 = 9	9 * 2 = 18	9 * 3 = 27	9 * 4 = 36	9 * 5 = 45	9 * 6 = 54	9 * 7 = 63	9 * 8 = 72	9 * 9 = 81

常见错误

  1. 误以为 break 会结束所有层循环,实际只结束当前层。
  2. continue 前遗漏关键逻辑,导致本轮该执行的代码被意外跳过。
  3. breakcontinue 用反,造成循环结果与预期不一致。
使用 Hugo 构建
主题 StackJimmy 设计 由 Hobin 魔改
载入天数...载入时分秒...
发表了 0 篇文章 · 发表了 46 篇笔记 · 总计 2 万 5 千字(其中笔记 25104 字)