一、条件控制if
1.写法一:常规写法
age := 19
if age > 18 {
fmt.Println("我成年了!")
} else {
fmt.Println("我还是未成年!")
}
2.写法二:加初始语句
if age := 19; age > 18 {
fmt.Println("我成年了!")
} else {
fmt.Println("我还是未成年!")
}
3.方法三:多分支判断
age := 19
if age > 35 {
fmt.Println("我已经中年了!")
} else if age > 18 {
fmt.Println("我成年了!")
} else {
fmt.Println("我还是未成年!")
}
二、开关控制switch
1.方法一:常规写法
day := 1
switch day {
case 1:
fmt.Println("今天是周一!")
case 2:
fmt.Println("今天是周二!")
case 3:
fmt.Println("今天是周三!")
case 4:
fmt.Println("今天是周四!")
case 5:
fmt.Println("今天是周五!")
case 6:
fmt.Println("今天是周六!")
case 7:
fmt.Println("今天是周日!")
default:
fmt.Println("错误!")
}
2.方法二:Case多个值
switch n := 1; n {
case 1, 3, 5, 7, 9:
fmt.Println("奇数")
case 2, 4, 6, 8:
fmt.Println("偶数")
default:
fmt.Println("错误!")
}
3.关键字:fallthrough
//可以执行满足case的下一个case
switch n := 1; n {
case 1, 3, 5, 7, 9:
fmt.Println("奇数")
fallthrough
case 2, 4, 6, 8:
fmt.Println("偶数")
default:
fmt.Println("错误!")
}
输出结果
奇数
偶数
三、跳转关键字goto
func main() {
goto TAG
fmt.Println("不能执行")
TAG:
fmt.Println("程序结束")
}
四、循环控制for
1.写法一:常规写法
for i := 0; i < 10; i++ {
fmt.Println(i)
}
2.写法二:省略初始语句
i := 0
for ; i < 10; i++ {
fmt.Println(i)
}
3.写法三:省略结束语句
i := 0
for i < 10 {
fmt.Println(i)
i++
}
4.方法四:无限循环
for {
//循环体
}
5.方法五:键值循环for range
str := "Hello 中国"
for i, v := range str {
fmt.Printf("%d %c\n", i, v)
}
输出结果
0 H
1 e
2 l
3 l
4 o
5
6 中
9 国