break和continue语句后面可接label标签来跳出多级循环。
例如:
label1:for var x=0; x<5;x++ {
label2:for var y=0;y<5;y++ {
if (x==y){
break label1
}
print ("(x,y)=(\(x),\(y))")
}
}
结果什么都没有输出。
label1:for var x=0; x<5;x++ {
label2:for var y=0;y<5;y++ {
if (x==y){
continue label1
}
print ("(x,y)=(\(x),\(y))")
}
}
输出结果为:
(x,y)=(1,0)
(x,y)=(2,0)
(x,y)=(2,1)
(x,y)=(3,0)
(x,y)=(3,1)
(x,y)=(3,2)
(x,y)=(4,0)
(x,y)=(4,1)
(x,y)=(4,2)
(x,y)=(4,3)