Swift学习笔记(一):guard 和 if 的用法及区别
2017-03-30 14:32
579 查看
一、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("可以看电影了") }
相关文章推荐
- swift学习笔记--swift3.0 if-let、guard语句中的where的替换
- iOS学习笔记8—nil,Nil,null,NSNULL的区别与用法
- swift学习日志—— if let 与 guard 语法糖
- Swift4.0 学习笔记 第二十六节:Swift中懒加载和OC的区别
- MFC学习笔记(二):消息对话框的两个函数用法与区别
- 【Swift】学习笔记(五)——控制语句(if,switch,for-in,for,while,do-while)
- C++ Data Structure 学习笔记 (2011.5.3)——传值,指针,引用的区别及Vector与String的详细用法
- 【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别
- vue学习笔记之v-if和v-show的区别
- 学习Swift笔记 (十五)Swift继承的用法
- swift 学习笔记(15)-if语句
- 学习Swift笔记 (十五)Swift继承的用法
- 学习笔记之ofstream 和ifstream的具体用法
- Swift学习笔记(三)——布尔类型与if条件判断
- swift学习笔记--计算属性和存储属性的区别
- Python学习笔记(二)if语句的简单用法
- vue学习笔记二:v-if和v-show的区别
- Swift学习记录 -- 3. 逻辑分支语句(if , else if ,三目运算 ,guard)
- Go 学习笔记:Println 与 Printf 的区别,以及 Printf 的详细用法
- Java学习笔记-Scanner和BufferedReader的区别和用法