小编Jay*_*ran的帖子

如何在Golang中打破嵌套循环?

我有一个外部和内部循环,每个循环遍历一个范围.我想在内循环内满足条件时退出外循环.

我有一个解决方案,使用两个'break',一个在内循环内,一个在outerloop内,就在内循环之外.这是(一个非常简化的演示案例):

package main

import (
    "fmt"
)

func main() {

    word := ""
    for _, i := range("ABCDE") {
        for _,j := range("ABCDE") {
            word = string(i) + string(j)
            fmt.Println(word)
            if word == "DC" {
                break
            }
        }
        if word == "DC" {
            break
        }
    }
    // More logic here that needs to be executed
}
Run Code Online (Sandbox Code Playgroud)

这个解决方案没有问题,但它看起来只是修补和丑陋.有一个更好的方法吗?

我可以尝试在前一个解决方案中使用外部循环之外的条件循环,并使用标签并继续使用标签,就像这样.但正如您所看到的,这种方法并不比具有中断的解决方案更优雅.

package main

import (
    "fmt"
)

func main() {

    word := ""

Exit:
    for word != "DC" …
Run Code Online (Sandbox Code Playgroud)

loops go

13
推荐指数
6
解决办法
1万
查看次数

标签 统计

go ×1

loops ×1