一、switch语句
1、语法
switch 表达式/变量{
case 参数:
表达式
case 参数:
表达式
default:
表达式
}
2、案例
switch 1 + 1 {
case 1:
fmt.Println(1)
case 2:
fmt.Println(2)
case 3:
fmt.Println(3)
default:
fmt.Println("不满足")
}
3、注意点
switch后的表达式、变量的类型要与case后的参数类型一致
二、for语句
go语言中对于循环只有for循环一种。并没有while,do while等语句
1、死循环
for{
fmt.Println(1)
}
2、布尔值
num := 1
for num < 5 {
fmt.Println(1)
num++
}
3、变量+条件
for num := 1; num < 10; {
fmt.Println(num)
num++
}
4、变量+条件+赋值
for num := 1; num < 10; num++ {
fmt.Println(num)
}
三、continue
continue:结束当前循环,不执行后面的语句,开始下一次循环
注意:continue只作用于当前循环
1、单循环
for num := 1; num <= 10; num++ {
if num == 7 {
continue
}
fmt.Println(num)
}
//
1,2,3,4,5,6,8,9,10
2、嵌套循环
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
3、continue打标签
在第一层循环处打上标签,执行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:结束循环
注意:嵌套循环下,break也只作用于当前循环
1、单循环
var num int
for {
fmt.Println("请输入数字:")
fmt.Scanln(&num)
if num > 66 {
fmt.Println("猜对了")
break
}
}
2、嵌套循环
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
3、break打标签
在第一层循环处打上标签,执行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