swift学习日志—— if let 与 guard 语法糖
来源:互联网 发布:淘宝怎么设置不包邮 编辑:程序博客网 时间:2024/06/08 05:33
工作比较忙,加上swift3.0也快出来了,听说核心代码又改变了(妈蛋,又得改代码了),swift的学习放了好久,有些都快忘了,赶紧复习下。
好,进入正题。
话说if let 和 guard 只是语法糖,没有也可以,但有了可以使得代码更简洁方便。要理解 if let 和 guard,不妨设想假如没有这两者,代码会怎么写。
------------------------------------
func doSomething(str: String?){ let v: String! = str if v != nil { // use v to do something }}
Swift 中因为有optional, 经常需要判断是否为空。假如没有if let,大致写成上面的样子,有了if let, 可以改写成
func doSomething(str: String?){ if let v = str { // use v to do something }}
上面两段代码的控制流是一样的。对照着,可以看出if let的写法更加简洁方便。
------------------------------------
guard假如if中出现的代码很长,我们写代码时可以将错误情况先返回。比如:
func doSomething(str: String?){ let v: String! = str if v == nil { return } // use v to do something}
这样做可以避免过多的嵌套。上面代码实在太常见了,swift也提供一个guard这个语法糖,用guard可以改写成:
func doSomething(str: String?){ guard let v = str else { return } // use v to do something}
上面两段代码的控制流是一样的。也可以看出guard的写法更加简洁方便。
------------------------------------
至于if let 和 guard 语法中出现的where,只是附加一些条件。相当于逻辑运算 && 和 ||。SQL中的条件语法也是用where这个关键字。
假如还不理解,动手将一段代码,不用if let 和 guard 进行改写。试多几次,就会发觉很自然了。
2 0
- swift学习日志—— if let 与 guard 语法糖
- 【iOS】swift-如何理解 if let 与guard?
- Swift 新语法 guard 语法 与 if else 对比
- 如何理解 if let 与guard let
- Swift中的可选类型Optional与if let 语法
- swift学习笔记--swift3.0 if-let、guard语句中的where的替换
- swift: if和guard以及携带let语句的使用说明
- if let和guard let
- Swift语法之 guard
- swift Guard语法
- swift 为什么设计 guard 语法?
- Swift学习记录 -- 3. 逻辑分支语句(if , else if ,三目运算 ,guard)
- 【iOS】Swift if let 和 if var
- Swift基本语法 - let/var
- swift学习日志—— Log日志
- erlang判断语法结构:if/case/guard
- Swift——分支guard的使用
- ES6学习——新的语法:let
- IaaS, PaaS和SaaS公司都做些什么
- 从虚幻 4 中采集 360 度立体电影
- Jmeter之参数化
- 欢迎使用CSDN-markdown编辑器
- Python——目录操作
- swift学习日志—— if let 与 guard 语法糖
- 访问统计
- 学习内容DPDK
- 运用Thinkphp搭建简单留言板(附源码)-(上)
- Mac os平台开发Android---adb配置
- (4.2.12.2)浅谈第三方推送[API的不同]:百度推送、小米推送、华为推送
- iOS如何去除小数点后无效的0
- 分离字符串并遍历
- http摘要