Go语言中的break语句

发布时间 2023-08-15 23:50:37作者: tangjicheng

在 Go 语言中,break 语句用于立即退出当前控制结构,如 for 循环、switchselect 语句。以下是 break 语句的使用方法和示例:

1. 基本用法

在此示例中,当遇到值 3 时,break 将中断循环。

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        if i == 3 {
            break
        }
        fmt.Println(i)
    }
}

输出:

0
1
2

2. 在 switch 语句中使用

尽管在 Go 的 switch 语句中,每个 case 后默认不会“穿透”到下一个 case(不同于某些其他语言),但 break 仍然可以用于提前退出 switch

package main

import "fmt"

func main() {
    x := 2
    switch x {
    case 1:
        fmt.Println("One")
    case 2:
        fmt.Println("Start Two")
        break
        fmt.Println("End Two") // 这行不会被执行
    case 3:
        fmt.Println("Three")
    }
}

输出:

Start Two

3. 与标签配合使用

在嵌套循环中,break 可以与标签配合使用,以指定要中断哪个循环。

package main

import "fmt"

func main() {
    OuterLoop:
    for i := 0; i < 3; i++ {
        for j := 0; j < 3; j++ {
            if i == 1 {
                break OuterLoop
            }
            fmt.Printf("i = %d, j = %d\n", i, j)
        }
    }
}

输出:

i = 0, j = 0
i = 0, j = 1
i = 0, j = 2

注意:当 i 为 1 时,由于 break OuterLoop,整个外部循环都被中断,而不仅仅是内部循环。

总的来说,break 语句在 Go 中是一个非常有用的控制流工具,特别是当你想在满足某些条件时提前退出循环或其他控制结构时。