美文网首页Swift开发技巧swfit收集
Swift语句中 if 和 guard 的区别

Swift语句中 if 和 guard 的区别

作者: 南国青天 | 来源:发表于2016-03-14 10:54 被阅读800次

对于刚熟悉Swift的Coder来说, 很容易将 if 和 guard 的用法混淆.

guard语句最大的优势就是在解包(Optional)时候, 比用 if 语句解包更优雅, 避免在大量串行解包的时候出现金字塔.

下面给出一个一目了然的🌰.

// guard
var a: String? = "ddd"
guard let b = a else { print("a is nil") }
print(b) //注意解包之后b的作用域仍然有效

//if
var a: String? = "ddd"
 if let b = a {
     print(b) //解包之后b的只有在 { ... } 内才有作用域
 }

相关文章

网友评论

    本文标题:Swift语句中 if 和 guard 的区别

    本文链接:https://www.haomeiwen.com/subject/hhsflttx.html