1、if语句
if 条件表达式 {
执行语句块
}
注意:条件表达式那里允许声明一个变量,这个变量的作用域只在该条件逻辑块内
func main() {
if age := 10; age > 9 {
fmt.Println("Hello, World!")
}
}
2、if-else语句
if 条件表达式 {
执行代码块1
} else {
执行代码块2
}
3、if-else if-...=else
if 条件表达式1 {
执行代码块1
} else if 条件表达式2 {
执行代码块2
}
...
esle {
执行代码块n
}
4、switch语句
switch 表达式 {
case 表达式1,表达式2,...:
代码块1
case 表达式3,表达式4,...:
代码块2
case 表达式4,表达式5,...:
代码块3
default:
代码块n
}
注意:
case后是一个表达式(即:常量值,变量,一个有返回值得函数等都可以)
case后的各个表达式的值得数据类型,必须和switch的表达式的数据类型一致
case后的表达式可以为多个,使用逗号分隔。
case后面的表达式如果是常量值,则要求不能重复
switch默认情况下case最后自带break语句,匹配成功后就不会执行其他case
default语句是不必须的
switch后可以不带表达式,类似if-else分支来使用
func main() {
var mouth byte = 8
switch {
case 1 <= mouth && mouth <4:
fmt.Println("该月是第一季度")
case 4 <= mouth && mouth < 7 :
fmt.Println("该月是第二季度")
case 7 <= mouth && mouth < 10 :
fmt.Println("该月是第三季度")
case 10 <= mouth && mouth <= 12 :
fmt.Println("该月是第四季度")
}
}
switch后也可以声明/定义变量,分号结束
func main() {
switch mouth := 10; {
case 1 <= mouth && mouth <4:
fmt.Println("该月是第一季度")
case 4 <= mouth && mouth < 7 :
fmt.Println("该月是第二季度")
case 7 <= mouth && mouth < 10 :
fmt.Println("该月是第三季度")
case 10 <= mouth && mouth <= 12 :
fmt.Println("该月是第四季度")
}
}
浙公网安备 33010602011771号