🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### for循环 ``` for 初始语句; 条件表达式; 赋值表达式 { 循环体 } ``` ``` package main import "fmt" func main() { for i := 1; i < 10; i++ { for j := 1; j < i+1; j++ { //fmt.Println(j, "*", i, "=", (j * i)) fmt.Printf("%v*%v=%v \t", j, i, i*j) // 九九乘法表 } fmt.Println() } } 结果: 1*1=1   1*2=2   2*2=4   1*3=3   2*3=6   3*3=9   1*4=4   2*4=8   3*4=12  4*4=16   1*5=5   2*5=10  3*5=15  4*5=20  5*5=25   1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36   1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49   1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64   1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81 ``` ### break跳出循环 ``` package main import "fmt" func main() { i := 1 for { for { if i > 5 { fmt.Println("跳出内层for循环") break } fmt.Println(i) i++ } fmt.Println("跳出外层for循环") break } } 结果: 1 2 3 4 5 跳出内层for循环 跳出外层循环 ``` 可以设置标签 让break直接跳出循环 ``` package main import "fmt" func main() { i := 1 OuterLoop: for { for { if i > 5 { fmt.Println("跳出OuterLoop标签对应的循环") break OuterLoop } fmt.Println(i) i++ } } } 结果: 1 2 3 4 5 跳出OuterLoop标签对应的循环 ``` go语言没有while循环,但是可以做出效果出来 ``` package main import "fmt" func main() { i := 1 for { fmt.Println(i) i++ if i == 5 { fmt.Println("结束for循环") break } } } 结果: 1 2 3 4 结束for循环 ``` ### continue继续循环 > **结束当前循环体,开始下次循环。也可以跟标签** ``` package main import "fmt" func main() { OuterLoop: for i := 0; i < 5; i++ { for j := 0; j < 3; j++ { if j == 1 { fmt.Println(i, j) continue OuterLoop } } } } 结果: 0 1 1 1 2 1 3 1 4 1 ```