go语言中的break、break label、continue 、continue label、goto
for中的break
for中的break,和js中的break一样,会跳出当前循环,继续执行下一行代码。
package main
import ("fmt")
func main() {
for i := 0; i < 5; i++ {
if i==2 {
break
}
fmt.Println(i)
}
}
只会输出0和1
当i==2时,会跳出当前for循环,后面的for循环就不会被执行了
双重for循环
外层循环一次,里层全部循环完
package main
import ("fmt")
func main() {
for i := 0; i < 2; i++ {
for k := 0; k < 5; k++ {
fmt.Println(i,k)
}
}
}
0 0
0 1
0 2
0 3
0 4
1 0
1 1
1 2
1 3
1 4
break中双重循环中的作用
package main
import ("fmt")
func main() {
for i := 0; i < 2; i++ {
for k := 0; k < 5; k++ {
if(k == 3){
break
}
fmt.Println(i,k)
}
}
}
想想一下输出的结果;
当k=3的时候,跳出里面的循环,继续执行外层循环
输出
0 0
0 1
0 2
1 0
1 1
1 2
break label 标记跳出多重循环
package main
import ("fmt")
func main() {
label: // 这里可以是 xxx : 的格式
for i := 0; i < 2; i++ {
for k := 0; k < 5; k++ {
if(k == 3){
break label // 与上面的 label : 名称一样,跳出多重循环
}
fmt.Println(i,k)
}
}
}
输出:
0 0
0 1
0 2
continue 跳过本次循环,继续下一次循环
package main
import ("fmt")
func main() {
for i := 0; i < 3; i++ {
if i == 1 {
continue
}
fmt.Println(i)
}
}
输出:
0
2
continue label 跳过指定标记的循环
package main
import ("fmt")
func main() {
label2:
for i := 0; i < 2; i++ {
for k := 0; k < 5; k++ {
if k == 3{
// 当k==3的时候,跳过当前循环,然后重新开始从i=1开始循环
continue label2
}
fmt.Println(i,k)
}
}
}
0 0
0 1
0 2
1 0
1 1
1 2
goto 语句通过标签进行代码间的无条件跳转
package main
import ("fmt")
func main() {
age := 18
if age >= 18 {
fmt.Println("成年人啦")
goto label3
}
fmt.Println("a")
label3:
//等会会跳转到这里
fmt.Println("b")
}
输出:
成年人啦
bbbb
作者:流年少年
出处:https://www.cnblogs.com/ishoulgodo/
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
出处:https://www.cnblogs.com/ishoulgodo/
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
支付宝
微信
如果文中有什么错误,欢迎指出。以免更多的人被误导。

浙公网安备 33010602011771号