您的位置:首页 > 移动开发 > Swift

Swift 语法糖 if let 和 guard 的使用

2018-03-01 16:38 549 查看
    语法糖是指计算机语言中添加的某种特殊语法,这种语法对语言本身的功能没有什么影响,但更方便编程者使用,使用语法糖能够增加程序的可读性、优化代码,从而减少出错。    今天我想要说一下,Swift中的 if let 和 guard 这两颗语法糖是如何达到魔法功效的。
    要知道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
}怎么样?是不是更简洁了呢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS Swift if let guard