/*
switch中的break和fallthrough语句
break:可以在switch中使用,也可以在for循环中使用
强制结束case语句,从而结束switch分支
fallthrough:用于穿透switch
当switch中某个case匹配成功之后,就执行该case语句
如果遇到fallthrough,那么后面紧邻的case无需匹配,执行穿透执行
fallthrough应该位于某个case的最后一行
*/
n := 1
switch n {
case 1:
fmt.Println("1")
fmt.Println("2")
break
fmt.Println("3")
case 2:
fmt.Println("2")
fmt.Println("1")
fmt.Println("3")
case 3:
fmt.Println("3")
fmt.Println("1")
fmt.Println("2")
}
fmt.Println("-----------")
m := 2
switch m {
case 1:
fmt.Println("第一季度")
case 2:
fmt.Println("第二季度")
fallthrough
case 3:
fmt.Println("第三季度")
case 4:
fmt.Println("第四季度")
}
for循环中的break和continue
/*
循环结束:
循环条件不满足,循环自动结束
但是可以通过break和continue来强制结束循环
跳出循环语句:break语句,continue语句
break:彻底结束循环
continue:结束某一次循环,下次循环继续
注意点:多层循环嵌套,break和continue,默认结束离他们最近的那层循环
如果想要结束指定的某个循环,可以给循环贴标签(起名)
break 循环标签名
continue:循环标签名
out:for i := 0; i < 10; i++ {
for j := 0; j < 10; j++ {
if j == 2 {
break out
//continue out
}
fmt.Printf("i:%d,j:%d\n",i,j)
}
}
*/
for i:=1;i<=10;i++ {
if i == 5 {
//break
continue
}
fmt.Println(i)
}
fmt.Println("-----------")
out:for i := 0; i < 10; i++ {
for j := 0; j < 10; j++ {
if j == 2 {
break out
//continue out
}
fmt.Printf("i:%d,j:%d\n",i,j)
}
}