// break可以结束当前最近的循环,不会阻碍后面的输出,如果想结束外层的循环,可以使用标签, for i := 1; i <= 5; i++ { for j := 2; j <= 4; j++ { fmt.Printf("i: %v,j: %v \n",i,j) if (i == 2 && j == 2) { break } } } // 标签使用 label1: for i := 1; i <= 5; i++ { for j := 2; j <= 4; j++ { fmt.Printf("i: %v,j: %v \n",i,j) if (i == 2 && j == 2) { break label1 } } }
// 输出被6整除的数, continue结束当前最近的循环,继续执行离它最近的循环,不会阻碍后面的输出 for i := 1; i <= 100; i++ { if (i % 6 !=0) { continue } fmt.Println(i) } for i := 1; i <= 5; i++ { for j := 2; j <= 4; j++ { if (i == 2 && j == 2) { continue } fmt.Printf("i: %v, j: %v \n", i,j) } } fmt.Print("ok") }
// goto可以无条件转移到程序指定的行,一般配合条件使用,但是一般不建议使用 fmt.Println("1") if (true) { goto label1 } fmt.Println("2") fmt.Println("3") fmt.Println("4") label1: fmt.Println("5")//return 结束当前函数,阻碍后面的输出 for i := 1; i <= 10; i++ { for j := 2; j < 10; j++ { fmt.Printf("i: %v, j: %v \n", i,j) if (i == 2 && j== 2) { return } } } fmt.Print("ok") } 输出
i: 1, j: 2
i: 1, j: 3
i: 1, j: 4
i: 1, j: 5
i: 1, j: 6
i: 1, j: 7
i: 1, j: 8
i: 1, j: 9
i: 2, j: 2
标签:return,goto,fmt,break,continue,Println From: https://www.cnblogs.com/huanhuan55/p/17336077.html