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()
