📌  相关文章
📜  go 跳回外循环 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:15:21.459000             🧑  作者: Mango

GO 编程语言 - 跳回外循环

在 Go 编程语言中,我们可以使用 continue 关键字跳过当前循环内的语句,进入循环下一轮,但有时我们需要跳出多重循环,或者是跳回外层的循环,此时可以使用 label 标签以及 goto 关键字来实现。

label 标签

标签可以理解为一个标记点,可以被我们在程序中的某个语句处引用,从而实现跳转的功能。格式为:

labelName:

其中 labelName 为标签的名称,需要符合 Go 语言的标识符规范。

跳回外循环示例

下面我们以一个示例来实现一个表格的输出功能,其中表格行列数在循环体外预先设定。我们需要在多重循环中输出每个单元格的行列值:

rows := 5
cols := 10

for r := 0; r < rows; r++ {
    for c := 0; c < cols; c++ {
        cellValue := fmt.Sprintf("%d-%d", r, c)
        fmt.Printf("%s\t", cellValue)
        if c == 7 {
            goto breakAll // 如果当前列数为 7,跳回外层循环
        }
    }
    fmt.Println() // 换行
}

breakAll: // 标签,用于跳回外层循环
fmt.Println("跳出了所有循环")

以上代码中,我们使用了 goto 关键字以及 breakAll 标签来实现在当前列数为 7 时跳出两重循环并输出一段文本。

总结

虽然使用 goto 关键字是一个可行的解决方案,但是过多地使用该关键字会使代码难以理解和维护。我们应该尽量避免在程序中使用 goto,尽可能采用其他结构化方式来编写代码,使代码更加清晰易读。