Swift学习笔记(一):guard 和 if 的用法及区别

一、guard是什么?

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

二、guard与if相比好在哪里

guard可以把不符合条件的处理事件前置,以免程序猿在开发中有遗漏的情况出现。
guard还可以减少条件语句中的嵌套数量,使代码更简洁易读。在《禅与Objective-C编程艺术》一书中,有提到黄金大道一说:

这里写图片描述

三、guard 的具体用法

我们举一个电影院检票的例子:
//票务
struct Ticket
{
    var movieName:String//该场电影名字
    var TimeValid:Bool = true//电影票有效
}

func checkTicket(ticket:Ticket?,currentMovieName:String)
{

    guard let _ = ticket,ticket?.movieName == currentMovieName else {

        print("非此场电影")
        return
    }
    guard ticket?.TimeValid else {

        print("该票已过期")
        return
    }

    //TODO:
    print("可以看电影了")

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值