go在使用嵌套循环时不支持使用break 次数和continue 次数的用法,但是为了支持这个功能,go引入了循环标记。举个栗子。
var i, j int outerLoop: for i = 1; i < 5; i++ { for j = 0; j < 1; j++ { if i == 3 { continue outerLoop } } fmt.Println(i) }
其实标记非常好理解,读懂这句话“论是continue还是break都会作用到outerLoop标记后的第一个循环里面”,上面的代码中continue相当于在第一个循环中continue,因此输出1 2 4