What's New in Swift 2 —— guard关键词
一、前言
// Good
func fooNonOptionalGood(x: Int) {
guard x > 0 else {
// x 不大于零
return
}
// x 大于零
}
// bad
func fooNonOptionalBad(x: Int) {
if x <= 0 {
// x 不大于零
return
}
// x 大于零
}
二、解释1、关键词“guard”是什么// 如果不符合“x > 0”,即x <= 0,则执行花括号。
guard x > 0 else {
// some syntax
return
}
2、深入发掘
func fooPositiveCheck(x: Int?) {
// 不是正数
if x == nil || x <= 0 {
print("不是正数")
return
}
// 是正数
print("是正数")
x!.description
}
func fooBinding(x: Int?) {
if let x = x where x > 0 {
print("是正数")
x.description
}
print("不是正数")
}
func fooGuard(x: Int?) {
guard let x = x where x > 0 else {
print("不是正数")
return
}
print("是正数")
// 自动解包(不用x!)
x.description
}
三、参考文章ecerney:《Swift Guard Statement》 其他文章 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |