Z
ZHANK
编程在线教程Swift 教程条件判断 if/guard
控制流程

条件判断 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)")
}