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("数量不为零") } }