switch 表达式/变量{
case 参数:
表达式
case 参数:
表达式
default:
表达式
}
switch 1 + 1 {
case 1:
fmt.Println(1)
case 2:
fmt.Println(2)
case 3:
fmt.Println(3)
default:
fmt.Println("不满足")
}
switch后的表达式、变量的类型要与case后的参数类型一致
go语言中对于循环只有for循环一种。并没有while,do while等语句
for{
fmt.Println(1)
}
num := 1
for num < 5 {
fmt.Println(1)
num++
}
for num := 1; num < 10; {
fmt.Println(num)
num++
}
4、变量+条件+赋值
for num := 1; num < 10; num++ {
fmt.Println(num)
}
continue:结束当前循环,不执行后面的语句,开始下一次循环
注意:continue只作用于当前循环
for num := 1; num <= 10; num++ {
if num == 7 {
continue
}
fmt.Println(num)
}
//
1,2,3,4,5,6,8,9,10
for i := 1; i < 3; i++ {
for j := 1; j <= 5; j++ {
if j == 3 {
continue
}
fmt.Println(i, j)
}
}
//
1,1
1,2
1,4,
1,5
2,1
2,2
2,4
2,5
在第一层循环处打上标签,执行continue时会直接跳到标签所在的循环,这样continue就不再时只作用于当前循环
f1:
for i := 1; i < 3; i++ {
for j := 1; j <= 5; j++ {
if j == 3 {
continue f1
}
fmt.Println(i, j)
}
}
//
1,1
1,2
2,1
2,2
break:结束循环
注意:嵌套循环下,break也只作用于当前循环
var num int
for {
fmt.Println("请输入数字:")
fmt.Scanln(&num)
if num > 66 {
fmt.Println("猜对了")
break
}
}
for i := 1; i < 3; i++ {
for j := 1; j <= 5; j++ {
if j == 3 {
break
}
fmt.Println(i, j)
}
}
//
1,1
1,2
2,1
2,2
在第一层循环处打上标签,执行break时会直接结束标签所在的循环,这样break就不再时只作用于当前循环
f1:
for i := 1; i < 3; i++ {
for j := 1; j <= 5; j++ {
if j == 3 {
break f1
}
fmt.Println(i, j)
}
}
//
1,1
1,2