if else
和其他语言没什么区别
- 条件不用加括号,加括号也不会报错
- 编码风格
fmt.Println("请输入你的年龄")
var age uint8
fmt.Scanln(&age)
if age < 13 {
fmt.Println("年龄小于13")
} else {
fmt.Println("年龄大于13")
}
需要注意的是,if后面的左大括号,必须和if在同一行
这种语法是不被编译通过的
var age uint8 = 12
if age < 13
{
fmt.Println("年龄小于13")
}
if else if
fmt.Println("请输入你的年龄")
var age uint8
fmt.Scanln(&age)
if age < 13 {
fmt.Println("年龄小于13")
} else if age < 25 {
fmt.Println("年龄小于25")
} else {
fmt.Println("年龄大于25")
}
if简短语句
在进行判断的之前,可以声明变量,用于接收函数返回值并判断
if i:=3;i>0{
fmt.Println("大于0")
}
switch case
可以直接将if else改写为switch case
fmt.Println("请输入你的年龄")
var age uint8
fmt.Scanln(&age)
switch {
case age < 13:
fmt.Println("年龄小于13")
fallthrough
case age < 25:
fmt.Println("年龄小于25")
default:
fmt.Println("年龄大于25")
}
fallthrough是用于case穿透
break是退出当前switch,默认每个case后都有break
第二种用法
fmt.Println("请输入星期(数字)")
var weekDay uint8
fmt.Scanln(&weekDay)
switch weekDay {
case 1:
fmt.Println("酱油拌饭")
case 2:
fmt.Println("蛋炒饭")
case 3:
fmt.Println("阳春面")
default:
fmt.Println("西北风")
}
和if else的区别
if else是多个条件选一个,只要成立了一个,后面的就都不会去匹配了
switch的每一个case是从上到下去匹配,如果没有break,则每一个都会去匹配