if 单分支,多分枝,双分支
基本语法:
单分支:
if 条件表达式 {
条件表达式为true就会执行的逻辑代码
}
var count int = 20
if count < 30 {
fmt.Println("口罩存量不足")
}
- if 后面必须跟空格,以区分表达式。
- 左右符号,可不写,可不写,GO 建议不写;(和Java不同,Java是必须要写。)
- {} 不能省略,这点和Java不同。(Java是如果一行逻辑代码,可写可不写,建议写。)
- 在Golang中,if 后面可以紧着 并列 写出变量的定义,使用分号 “;” 和 if的表达式隔开。
if count := 20; count < 30 {
fmt.Println("口罩存量不足")
}
双分支:
if 条件表达式 {
逻辑代码1
} else { // 注意格式 }else 在一行,否则报错
逻辑代码2
}
注意格式 : } else 必须保证在一行。保证正确的GO代码的格式规范。
package main
import "fmt"
func main() {
if count := 50; count < 30 {
fmt.Println("口罩存量不足")
} else {
fmt.Println("口罩存量充足")
}
}
多分支:
if 表达式1 {
逻辑代码1
} else if 表达式2 {
逻辑代码2
}
....
else{
逻辑代码n
}
package main
import "fmt"
func main() {
if count := 1100; count > 1000 {
fmt.Println("口罩数量过量")
} else if count >= 800 { // else 隐藏含义,与上面相反的情况,即 count <= 1000
fmt.Println("口罩存量充足")
} else if count > 300 {
fmt.Println("口罩数量勉强维持。")
} else if count > 30 {
fmt.Println("口罩存量已告急")
} else if count > 0 {
fmt.Println("报警!!!赶紧采购!!!")
} else {
fmt.Println("输入非法!")
}
}
本例子中通过 else if 多分支的写法, 配合了每个else 的隐藏含义,即和上面的if相反的情况,节省了 限定左右区间而添加&&的范围,实现了只要 开区间 即可。比如如果是单分支 if 口罩告急 ,可能要写 if count >0 && count <=30 要多添加&&来限定范围来实现。