Fork me on GitHub

Go语言循环控制之break/continue/goto/return

一、break

break语句用于终止某个语句块的执行,用于终端当前for循环或跳出switch语句。

package main

import "fmt"


func main() {
    // 打印小于等于5的数

   for i := 0; i <= 10; i++ {
        if i > 5 {
            break
        } else {
            fmt.Println("i=",i)
        }
   }

}

break嵌套语句中可以使用标签来指明终止的是那一层的语句块。

package main
import "fmt"

func main() {
    label1:
    for i := 0; i < 10; i++ {
        if i > 5 {
            break label1
        }
        fmt.Println("i=", i)
    }
}
/* 执行结果
i= 0
i= 1
i= 2
i= 3
i= 4
i= 5
*/

二、continue

continue语句用于结束本次循环,继续执行下一次循环;如果出现再多层嵌套循环语句体中,可以通过标签的方式知名要跳过的是哪一层的循环。这与break标签的使用是样的。

package main

import "fmt"

func main() {

    for i := 0; i < 10; i++ {
        if i > 5 && i < 9 {
            continue
        }
        fmt.Println("i=", i)
    }
}
/*
输出:
i= 0
i= 1
i= 2
i= 3
i= 4
i= 5
i= 9
*/

当然也可以跳过指定的标签,用法与break一样的。

三、goto

  Go语言中的goto语句可以无条件的转移到程序中指定的行;通常与条件语句配合使用,可以用于实现条件转移、跳出循环体等功能;不过一般不主张使用goto语句,以免造成程序流程混乱的局面。

基本使用语法:

goto label

...
...

label: statement

 实例:

package main

import "fmt"

func main() {

    for i := 0; i < 10; i++ {
        if i > 5 {
            goto label1
        }
        fmt.Println("i=", i)
    }
    label1:
    fmt.Println("goto1")
    fmt.Println("goto2")
}
/*
输出:
i= 0
i= 1
i= 2
i= 3
i= 4
i= 5
goto1
goto2

*/

四、return

return使用再函数或者方法中,表示跳出所在的方法或者函数。

  • return 如果在普通函数中,表示终止该函数后面的代码执行
  • return 如果在main函数中,表示终止main函数,即整个应用程序
package main

import "fmt"

func main() {

    for i := 0; i < 10; i++ {
        if i > 5 {
            return
        }
        fmt.Println("i=", i)
    }
    fmt.Println("retunDemo...")

}

/*
输出:
i= 0
i= 1
i= 2
i= 3
i= 4
i= 5

*/

 

posted @ 2021-11-13 10:41  iveBoy  阅读(468)  评论(0编辑  收藏  举报
TOP