方式一、

使用标记及循环控制语句break,具体示例如下:

 // 定于一个跳出循环标记

  endfor := false

  // 定义嵌套for循环

  for i := 0; i < 10; i++ {

    println("i == ", i)

    for a := 0; a < 10; a++ {

      println("a == ", a)

      if a == 3 {

        // 修改跳出循环标记

        endfor = true

        break

      }

    }



    // 外层循环判断循环标记,true则结束循环

    if endfor {

      break

    }

  }

  /*
    输出结果
    i == 0
    a == 0
    a == 1
    a == 2
    a == 3
  */

方式二、

使用go语言的goto语句跳出多层循环

  // 定义嵌套for循环

  for i := 0; i < 10; i++ {

    println("i == ", i)

    for a := 0; a < 10; a++ {

      println("a == ", a)

      if a == 3 {

        // 跳转执行goto代码

        goto endfor

      }

    }

    println("before endfor")



  endfor:

    println("after endfor")



    /*
      输出结果
      i ==0
      a == 0
      a == 1
      a == 2
      a == 3
      after endfor
    */

  }

从输出结果可以看出使用goto跳转语句可以正常的跳出多层循环,并执行goto指定的代码块。不过,值得注意的是goto代码块之前的代码将会跳过,如上例中的 println(“before endfor”)就没有执行。