欢迎光临
我们一直在努力

在Go中使用循环时使用中断和继续语句

介绍

在Go中使用for循环允许您以有效的方式自动执行和重复任务。

学习如何控制循环的操作和流程将允许程序中的自定义逻辑。 您可以使用breakcontinue语句控制循环。

休息声明

在Go中, break语句终止当前循环的执行。 break几乎总是与条件if语句配对。

让我们看一个在for循环中使用break语句的示例:

break.go
package mainimport "fmt"func main() {    for i := 0; i < 10; i++ {        if i == 5 {            fmt.Println("Breaking out of loop")            break // break here        }        fmt.Println("The value of i is", i)    }    fmt.Println("Exiting program")}

这个小程序创建一个for循环,迭代时i小于10

for循环中,有一个if语句。 if语句测试i的条件以查看该值是否小于5 如果i的值不等于5 ,则循环继续并打印出i的值。 如果i的值等于5 ,则循环将执行break语句,打印它是Breaking out of loop ,并停止执行循环。 在程序结束时,我们打印出Exiting program ,表示我们退出了循环。

当我们运行此代码时,我们的输出将如下:

The value of i is 0The value of i is 1The value of i is 2The value of i is 3The value of i is 4Breaking out of loopExiting program

这表明一旦整数i被评估为等价于5,循环就会中断,因为程序被告知使用break语句。

嵌套循环

重要的是要记住break语句只会停止执行它调用的最内层循环。如果你有一组嵌套循环,如果需要,你需要为每个循环中断。

nested.go
package mainimport "fmt"func main() {    for outer := 0; outer < 5; outer++ {        if outer == 3 {            fmt.Println("Breaking out of outer loop")            break // break here        }        fmt.Println("The value of outer is", outer)        for inner := 0; inner < 5; inner++ {            if inner == 2 {                fmt.Println("Breaking out of inner loop")                break // break here            }            fmt.Println("The value of inner is", inner)        }    }    fmt.Println("Exiting program")}

在这个程序中,我们有两个循环。 当两个循环迭代5次时,每个循环都有一个带有break语句的条件if语句。 如果outer的值等于3则外部循环将中断。 如果inner值为2则内部循环将中断。

如果我们运行程序,我们可以看到输出:

The value of outer is 0The value of inner is 0The value of inner is 1Breaking out of inner loopThe value of outer is 1The value of inner is 0The value of inner is 1Breaking out of inner loopThe value of outer is 2The value of inner is 0The value of inner is 1Breaking out of inner loopBreaking out of outer loopExiting program

请注意,每次内部循环中断时,外部循环都不会中断。 这是因为break只会破坏它调用的最内层循环。

我们已经看到使用break将如何停止循环的执行。 接下来,让我们看看如何继续迭代循环。

继续声明

当您想要跳过循环的剩余部分并返回循环的顶部并继续新的迭代时,将使用continue语句。

break语句一样, continue语句通常与条件if语句一起使用。

使用与前面的Break Statement部分相同的for循环程序,我们将使用continue语句而不是break语句:

continue.go
package mainimport "fmt"func main() {    for i := 0; i < 10; i++ {        if i == 5 {            fmt.Println("Continuing loop")            continue // break here        }        fmt.Println("The value of i is", i)    }    fmt.Println("Exiting program")}

使用continue语句而不是break语句的区别在于,当变量i被评估为等效于5时,尽管中断,我们的代码仍将继续。 让我们来看看我们的输出:

The value of i is 0The value of i is 1The value of i is 2The value of i is 3The value of i is 4Continuing loopThe value of i is 6The value of i is 7The value of i is 8The value of i is 9Exiting program

在这里,我们看到行The value of i is 5输出中The value of i is 5 ,但是在该点之后循环继续在离开循环之前打印数字6-10的行。

您可以使用continue语句来避免深层嵌套的条件代码,或者通过消除您要拒绝的常见情况来优化循环。

continue语句导致程序跳过循环中出现的某些因子,然后继续循环的其余部分。

结论

Go中的breakcontinue语句将允许您在代码中更有效地使用for循环。

赞(0) 打赏
未经允许不得转载:老赵部落 » 在Go中使用循环时使用中断和继续语句
data-ad-format="auto" data-full-width-responsive="true">

评论 抢沙发