文章目录
一、顺序结构:
二、选择结构:
1. if语句:
if 条件表达式 {
执行语句1
} else {
执行语句2
}
if支持一个初始化语句, 初始化语句和判断表达式用 分号; 隔开
if a := 95; a >= 90 {
fmt.Println("优秀...")
}
2. switch语句:
- 支持多个条件的匹配;
- 不同的case之间不需要break;
- 强制Hi性下一个case, 需要使用 fallthrough
switch 变量(或表达式) {
case value:
执行语句1
case val2:
执行语句2
fallthrough
case val3:
执行语句3
......
default:
执行语句n
}
示例
switch s1 := 90; s1 {
case 90:
fmt.Println('A')
default:
fmt.Println('B')
}
s2 := 90
switch { // 没有写条件
case s2 > 90:
fmt.Println('A')
case s2 == 90:
fmt.Println('B')
default:
fmt.Println('C')
}
switch s3 := 90; { // 只有初始化语句, 没有条件
case s3 > 90:
fmt.Println('A')
case s3 == 90:
fmt.Println('B')
default:
fmt.Println('C')
}
三、循环结构:
1. for循环:
语法:
for 初始化; 判断; 条件变化 {
循环体
}
2. range 迭代打印:
- 迭代打印会返回两个值: 下标、对应值;
str := "abc"
for i, data := range str {
fmt.Println(i, data)
// 0 97
// 1 98
// 2 99
}
3. 跳转语句:
3.1 break:
3.2 continue:
- 只能在for循环中使用
3.3 goto:
func main() {
fmt.Println("aaaaaa")
goto END // 标签名; 要注意goto的位置
fmt.Println("bbbbbbbb")
END:
fmt.Println("ccccccc")
}