Swift 语法糖 if let 和 guard 的使用
2018-03-01 16:38
549 查看
语法糖是指计算机语言中添加的某种特殊语法,这种语法对语言本身的功能没有什么影响,但更方便编程者使用,使用语法糖能够增加程序的可读性、优化代码,从而减少出错。 今天我想要说一下,Swift中的 if let 和 guard 这两颗语法糖是如何达到魔法功效的。
要知道if let 和 guard起到了什么作用,我们不妨先设想没有它们,代码是怎么写的。
{
let v: String! = str
if v == nil
{
return
}
// use v to do something
}有了guard,我们可以把上面的代码改成这样:func doSomething(str: String?)
{
guard let v = str else { return }
// use v to do something
}怎么样?是不是更简洁了呢
要知道if let 和 guard起到了什么作用,我们不妨先设想没有它们,代码是怎么写的。
1. if let
Swift 中因为有optional, 经常需要判断是否为空,如果没有if let,大致的代码会是这样:func doSomething(str: String?) { let v: String! = str if v != nil { // use v to do something } }有了 if let, 上面的代码可以改写成:
func doSomething(str: String?) { if let v = str { // use v to do something } }两段代码的功能是一样的,比较来看,使用 if let 的代码更加简洁。
2. guard
我们在写代码时,有时会在大块代码的前面判断是否需要执行后面的代码,提前return,避免错误:func doSomething(str: String?){
let v: String! = str
if v == nil
{
return
}
// use v to do something
}有了guard,我们可以把上面的代码改成这样:func doSomething(str: String?)
{
guard let v = str else { return }
// use v to do something
}怎么样?是不是更简洁了呢
相关文章推荐
- swift学习日志—— if let 与 guard 语法糖
- swift: if和guard以及携带let语句的使用说明
- swift - if let Optional 语法
- 【iOS】swift-如何理解 if let 与guard?
- 【iOS】swift-如何理解 if let 与guard?
- swift学习笔记--swift3.0 if-let、guard语句中的where的替换
- Swift中的可选类型Optional与if let 语法
- 【iOS】Swift if let 和 if var
- Swift中if与switch语句使用一例
- Swift学习——使用if和switch来进行条件操作,使用for,while,和do-while来进行循环(三)
- hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)
- swift Guard语法
- swift基础语法之控件使用02
- Swift中if与switch语句使用一例
- swift中使用宏定义(使用let常量,或enum枚举,或函数)
- swift 为什么设计 guard 语法?
- iOS swift 使用基本语法
- [绍棠_Swift] Swift3.0中guard语句的使用和理解
- swift 风骚的Guard语法
- swift基础语法之控件使用02