1.Guard语句的语法
guard expression else { //语句 //必须包含一个控制语句:return,break,continue或throw。 }
- 这里,expression是一个布尔表达式(返回
true
或者false
)。 - 如果对表达式求值
false
,guard
则执行代码块内的语句。 - 如果对表达式求值
true
,guard
则从执行中跳过代码块内的语句
2.函数内guard语句
func someFunction() { guard false else { print("Condition not met") return } print("Condition met") } someFunction() print("Hello after function call")
示例4:使用选项保护
func changeOptionalStringToUpperCase() { var name:String? guard let temp = name else { print("Name is nil. Cannot process") return } print("Uppercased:(temp.uppercased())") } changeOptionalStringToUpperCase()
示例5:具有多个条件的保护
func changeOptionalStringToUpperCase() {
var name:String? = ""
guard let temp = name , temp.count > 0 else {
print("Name is nil or an empty string. Cannot process")
return
}
print("Uppercased:(temp.uppercased())")
}
changeOptionalStringToUpperCase()
1 //guard----控制语句执行 即守护 2 2 let oAge: Int? = 20 3 3 //在swift3.0中,if-let和guard语句中的where都用“,”替代了 4 4 if let age = oAge , age > 18 { 5 5 print(age) 6 6 } 7 7 func guardTest(){ 8 8 let bAge:Int? = 30 9 9 guard let age = bAge , age > 18 else { 10 10 print("年龄小于18岁") 11 11 return 12 12 } 13 13 print(age) 14 14 } 15 15 var aa: Int?? = 20 16 16 guardTest()