
最基本的选择。
if beauty == "秋香" {
fmt.Println("追上去!")
} else {
fmt.Println("继续敲碗唱歌")
}
独门秘籍:带初始化的 if
你可以在 if 里面顺手做个赋值,这个变量只在 if 块里有效。这招在处理错误时特别好用。
// 格式:if 初始化语句; 条件 { ... }
if score := 95; score > 90 {
fmt.Println("状元郎!")
}
// fmt.Println(score) // 这里会报错,因为 score 出了 if 就死了
当选择太多时,用 switch 更清晰。Go 的 switch 非常智能:
break。fallthrough。switch name {
case "秋香", "冬香":
fmt.Println("美女!")
case "石榴姐":
fmt.Println("绝代风华")
fallthrough // 强制执行下一个 case
default:
fmt.Println("路人甲")
}
switch 后面不跟变量,直接在 case 里写条件。这相当于 if-else if-else 的整容版。
score := 85
switch {
case score >= 90:
fmt.Println("优")
case score >= 80:
fmt.Println("良")
default:
fmt.Println("差")
}
请补全代码,使用“带初始化的 if”来判断分数。
package main
import "fmt"
func getScore() int { return 95 }
func main() {
// 任务:在一行里调用 getScore() 并判断是否大于 90
if ______; ______ {
fmt.Println("秋香")
}
}
任务: 填空。
答案: s := getScore(); s > 90
解析: 这样写的好处是变量 s 用完即焚,不会污染外面的环境。Go 程序员都爱这么写!