一.continue

  • continue关键字控制结束本次 循环体 结束,执行表达式三.
  1. for i := 0; i < 5; i++ {
  2. fmt.Println("开始")
  3. if i == 2 || i == 3 {
  4. continue
  5. }
  6. fmt.Println("结束")
  7. }
  • 在双重for循环中continue默认影响最内侧循环,与最外层循环无关
  1. func main() {
  2. for k := 0; k < 2; k++ {
  3. for i := 0; i < 3; i++ {
  4. if i == 1 {
  5. continue
  6. }
  7. fmt.Println(k, i, "结束")
  8. }
  9. }
  • Go语言执行标签写法,可以通过定义标签让continue控制影响哪个for循环
  1. myfor:for k := 0; k < 2; k++ {
  2. for i := 0; i < 3; i++ {
  3. if i == 1 {
  4. continue myfor
  5. }
  6. fmt.Println(k, i, "结束")
  7. }
  8. }

二. break

  • break可以中断for循环,无论for循环还有几次执行,立即停止
  1. for i := 0; i < 5; i++ {
  2. if i == 2 {
  3. break
  4. }
  5. fmt.Println(i)
  6. }
  • 在双重for循环中,break默认也影响到最近的for循环
  1. for i := 0; i < 2; i++ {
  2. for j := 0; j < 2; j++ {
  3. if j == 1 {
  4. break
  5. }
  6. fmt.Println(i, j)
  7. }
  8. }
  • break也可以通过定义标签,控制break对哪个for循环生效
  1. myfor:for i := 0; i < 2; i++ {
  2. for j := 0; j < 2; j++ {
  3. if j == 1 {
  4. break myfor
  5. }
  6. fmt.Println(i, j)
  7. }
  8. }