Golang中的关键字continue
continue
只能用在循环中,在go中只能用在for
循环中,它可以终止本次循环,进行下一次循环。
在continue
语句后添加标签时,表示开始标签对应的循环。
Golang中的continue实例
输出1到10之间的偶数
普通版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| package main
import "fmt"
func test_continue() { for i := 0; i < 10; i++ { if i%2 == 0 { fmt.Printf("i: %v\n", i) } else { continue } fmt.Println("跳出当前循环,进行下一次循环") } } func main() { test_continue() }
|
运行结果
1 2 3 4 5 6 7 8 9 10
| i: 0 跳出当前循环,进行下一次循环 i: 2 跳出当前循环,进行下一次循环 i: 4 跳出当前循环,进行下一次循环 i: 6 跳出当前循环,进行下一次循环 i: 8 跳出当前循环,进行下一次循环
|
运用到标签
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| package main
import "fmt"
func lab_continue() { for i := 0; i < 5; i++ { MYLABEL: for j := 0; j < 5; j++ { if i == 2 && j == 2 { continue MYLABEL } fmt.Printf("%v, %v\n", i, j) } } } func main() { lab_continue() }
|
运行结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 0, 0 0, 1 0, 2 0, 3 0, 4 1, 0 1, 1 1, 2 1, 3 1, 4 2, 0 2, 1 2, 3 2, 4 3, 0 3, 1 3, 2 3, 3 3, 4 4, 0
|
continue与break的区别
break是跳出结束当前循环。
而continue是跳出一次循环,后面还会继续。
举例比如用break
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| package main
import "fmt"
func lab_continue() { for i := 0; i < 5; i++ { MYLABEL: for j := 0; j < 5; j++ { if i == 2 && j == 2 { break MYLABEL } fmt.Printf("%v, %v\n", i, j) } } } func main() { lab_continue() }
|
运行结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 0, 0 0, 1 0, 2 0, 3 0, 4 1, 0 1, 1 1, 2 1, 3 1, 4 2, 0 2, 1 3, 0 3, 1 3, 2 3, 3 3, 4 4, 0 4, 1 4, 2 4, 3
|