条件判断 if/guard
if/else if/else、guard 提前退出、三元运算符
条件判断 if/guard
Swift 的 if 语法和主流语言一致,但 guard 是 Swift 特有的"提前退出"语法——让正常逻辑不嵌套。
学完本章你将: 掌握 if/else、guard 提前退出、三元运算符。
if / else if / else
swift
let score = 85
if score >= 90 {
print("优秀")
} else if score >= 80 {
print("良好") // 输出
} else {
print("加油")
}
guard —— 提前退出(不嵌套!)
swift
// ❌ if let 嵌套地狱
func process(_ input: String?) {
if let value = input {
if !value.isEmpty {
if value.count > 3 {
print(value)
}
}
}
}
// ✅ guard let —— 扁平化
func process(_ input: String?) {
guard let value = input else { return }
guard !value.isEmpty else { return }
guard value.count > 3 else { return }
print(value) // 正常逻辑不缩进!
}
guard 规则
swift
func validate(age: Int?) {
// guard 的 else 块必须退出当前作用域
guard let age = age, age >= 0 else {
print("无效年龄")
return // 必须 return/throw/break/continue/fatalError
}
print("年龄: \(age)")
}