swift中用 let if
和guard
是为了使代码更加简洁和方便。
if let
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 todoSomething
}
如果用guard
可以写成
func doSomething(str:String?) {
guard let v = str else {
return
}
//use v todoSomething
}
可以看出guard的写法更加简洁方便。