目录
一、分支结构
1. if 分支
Go 语言提供了以下几种条件判断语句:
语句 | 描述 |
---|---|
if 语句 | if 语句 由一个布尔表达式后紧跟一个或多个语句组成。 |
if…else 语句 | if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。 |
if 嵌套语句 | 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。 |
switch 语句 | switch 语句用于基于不同条件执行不同动作。 |
select 语句 | select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。 |
1.1 单分支
if 条件表达式 {
逻辑代码
}
当条件表达式为 true 时,就会执行得的代码。
条件表达式左右的 () 可以不写,也建议不写。
if 和表达式中间,一定要有空格。
在 Golang 中,{} 是必须有的,就算你只写一行代码。
package main
import "fmt"
func main() {
var count int = 100
if count > 30 {
fmt.Println("数量充足!")
}
}
// ------ //
数量充足!
1.2 双分支
if 条件表达式 {
逻辑代码1
} else {
逻辑代码2
}
// 下面代码格式是错误的
if 条件表达式 {
逻辑代码1
}
else {
逻辑代码2
}
示例:
package main
import "fmt"
func main() {
var count int = 70
if count < 30 {
fmt.Println("库存不足")
} else {
fmt.Println("库存充足")
}
}
1.3 多分支
if 条件表达式1 {
逻辑代码1
} else if 条件表达式2 {
逻辑代码2
}
......
else {
逻辑代码n
}
示例:
// 方法一
package main
import "fmt"
func main() {
var grade int
fmt.Println("请输入分数:") // 提示语句
fmt.Scanf("%d",&grade)
a := grade
if a >= 90 {
fmt.Println("成绩为 A")
}
if a >= 80 && a < 90 {
fmt.Println("成绩为 B")
}
if a >= 60 && a < 80 {
fmt.Println("成绩为 C")
}
if a < 60 {
fmt.Println("成绩为 D")
}
}
// 方法二
package main
import "fmt"
func main() {
var grade int
fmt.Println("请输入分数:") // 提示语句
fmt.Scanf("%d",&grade)
a := grade
if a >= 90 {
fmt.Println("成绩为 A")
} else if a >= 80 {//else隐藏:score < 90
fmt.Println("成绩为