Swift开发技巧swfit收集

Swift语句中 if 和 guard 的区别

2016-03-14  本文已影响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的只有在 { ... } 内才有作用域
 }

上一篇下一篇

猜你喜欢

热点阅读