【发布时间】:2017-10-17 14:06:23
【问题描述】:
我明白:
break - 停止进一步执行循环构造。
continue - 跳过循环体的其余部分并开始下一次迭代。
但这些语句与标签结合使用时有何不同?
也就是说这三个循环有什么区别:
Loop:
for i := 0; i < 10; i++ {
if i == 5 {
break Loop
}
fmt.Println(i)
}
输出:
0 1 2 3 4
Loop:
for i := 0; i < 10; i++ {
if i == 5 {
continue Loop
}
fmt.Println(i)
}
输出:
0 1 2 3 4 6 7 8 9
Loop:
for i := 0; i < 10; i++ {
if i == 5 {
goto Loop
}
fmt.Println(i)
}
输出:
0 1 2 3 4 0 1 2 3 4 ...(无限)
【问题讨论】:
-
顺便说一句,你不需要这些。您可以使用
gotobreak或continue编写的所有代码都可以在没有它们的情况下编写,其优点是更容易理解和更明确。