if 单分支,多分枝,双分支
基本语法:
单分支:
- if 条件表达式 {
-
- 条件表达式为true就会执行的逻辑代码
-
- }
- var count int = 20
- if count < 30 {
- fmt.Println("口罩存量不足")
- }
- 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 要多添加&&来限定范围来实现。
