| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package main
- import "fmt"
- func main() {
- // 1. 单条件判断:条件为 true 时,执行大括号中的代码。
- // Go 的条件不需要圆括号,但大括号不能省略。
- fmt.Println("=== 单条件判断 ===")
- age := 20
- if age >= 18 {
- fmt.Printf("年龄:%d,已成年\n", age)
- }
- // 2. 二选一:条件成立执行 if,否则执行 else。
- // else 必须和前面的右大括号 } 写在同一行。
- fmt.Println("\n=== 是否及格 ===")
- score := 75
- if score >= 60 {
- fmt.Printf("分数:%d,及格\n", score)
- } else {
- fmt.Printf("分数:%d,不及格\n", score)
- }
- // 3. 多分支:从上往下判断,只执行第一个满足条件的分支。
- // 先排除非法分数,再按分数从高到低判断,避免优秀被及格分支截走。
- fmt.Println("\n=== 成绩等级 ===")
- if score < 0 || score > 100 {
- fmt.Println("分数无效,应在 0~100 之间")
- } else if score >= 90 {
- fmt.Println("等级:优秀")
- } else if score >= 80 {
- fmt.Println("等级:良好")
- } else if score >= 60 {
- fmt.Println("等级:及格")
- } else {
- fmt.Println("等级:不及格")
- }
- // 4. 逻辑运算:&& 是并且,|| 是或者,! 是取反。
- fmt.Println("\n=== 逻辑运算 ===")
- hasTicket := true
- isClosed := false
- if age >= 18 && hasTicket && !isClosed {
- fmt.Println("已成年、有票且未闭馆,可以入场")
- } else {
- fmt.Println("暂时不能入场")
- }
- isWeekend := false
- isHoliday := true
- if isWeekend || isHoliday {
- fmt.Println("周末或节假日,可以安排休息")
- }
- // 5. 比较运算:== 判断相等,!= 判断不相等。
- // = 是赋值,不是判断相等。
- fmt.Println("\n=== 相等与不相等 ===")
- language := "Go"
- if language == "Go" {
- fmt.Println("当前学习的语言是 Go")
- }
- if score != 100 {
- fmt.Println("本次成绩不是满分")
- }
- // 6. Go 的条件必须是 bool,不能像 C 一样用整数表示真假。
- fmt.Println("\n=== 显式布尔条件 ===")
- count := 1
- // if count { } // 错误:int 不能直接作为条件。
- if count != 0 {
- fmt.Println("数量不为零")
- }
- }
|