跳转到主内容
极星编程网:以代码为星,赴技术山海!

Golang循环控制break与continue怎么用

break用于立即终止循环,continue跳过当前迭代;两者均支持标签实现多层循环控制,常用于优化遍历逻辑。 在Golang中, break 和 continue 是用于控制循环流程的关键字,它们能帮助我们更灵活地处理循环逻辑。 break:跳出循环 当程序执行到 break 语句时,会立即终止当前所在的循环(for、 switch 或 select),并继续执行循环之后的代码。 常见用法: 在 for 循环中提前退出,比如找到目标值后不再继续遍历。 配合 switch 使用,跳出 case 分支(虽然在 switch 中 break 不是必须的,但在某些情况如避免 fallthrough 时有用)。 使用标签(label)跳出多层嵌套循环。 示例:
for i := 0; i < 10; i++ { if i == 5 { break // 当 i 等于 5 时,跳出循环 } fmt.Println(i) } // 输出 0 到 4
continue:跳过当前迭代 continue 语句用于跳过当前循环的剩余部分,直接进入下一次迭代。 立即学习 “ go语言免费学习笔记(深入) ”; 它不会终止整个循环,只是“跳过这一次”。 纯CSS制作Switch动画开关按钮 纯CSS制作Switch动画开关按钮 下载 适用场景: 过滤特定条件的数据,比如只处理奇数或偶数。 跳过无效或不需要处理的元素。 示例:
for i := 0; i < 10; i++ { if i%2 == 0 { continue // 跳过偶数 } fmt.Println(i) } // 输出 1, 3, 5, 7, 9
带标签的 break 和 continue 在嵌套循环中,可以用标签(label)来控制外层循环的 break 或 continue。 标签是一个标识符后跟冒号,放在循环前。 示例:跳出外层循环
outer: for i := 0; i < 3; i++ { for j := 0; j < 3; j++ { if i == 1 && j == 1 { break outer // 直接跳出外层循环 } fmt.Println(i, j) } } // 输出 (0,0) (0,1) (0,2) (1,0),然后结束
示例:continue 外层循环
outer: for i := 0; i < 3; i++ { for j := 0; j < 3; j++ { if i == 1 && j == 1 { continue outer // 跳过外层 i=1 的所有情况 } fmt.Println(i, j) } } // 输出 (0,0)(0,1)(0,2)(2,0)(2,1)(2,2)
基本上就这些。break 用来退出,continue 用来跳过,结合标签可以精准控制多层循环。不复杂但容易忽略细节。

相关文章