Swift guard

2020-08-11 16:04:17 浏览数 (1)

guard是什么?

guard是 swift 2.0推出的新的判断语句的用法。guard语句和if语句类似,都是根据关键字之后的表达式的布尔值决定下一步执行什么。和if语句不同的是,guard语句只有一个代码块,而if语句可有多个代码块。(如 if 、else if、 else) 那么guard到底是什么作用呢?顾名思义,guard是作为保卫作用而存在的。当你不满足我的要求,那么请您出去;如果满足,则执行下一步操作。

guard与if相比

与if语句相同的是,guard也是基于一个表达式的布尔值去判断一段代码是否该被执行。与if语句不同的是,guard只有在条件不满足的时候才会执行这段代码。你可以把guard近似的看做是Assert,但是你可以优雅的退出而非崩溃。

guard 的用法

代码语言:javascript复制
func fooNonOptionalGood(x: Int) {
    guard x > 0 else {
        // 变量不符合条件判断时,执行下面代码
        return
    }
    
    // 使用x
}

常用使用场景为, 用户登录的时候, 验证用户是否有输入用户名密码等

代码语言:javascript复制
guard let userName = self.userNameTextField.text,
  let password = self.passwordTextField.text else {
    return
}

0 人点赞