加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift - guard关键字(守护)

发布时间:2020-12-14 05:12:00 所属栏目:百科 来源:网络整理
导读:? 1.Guard语句的语法 guard expression else { // 语句 // 必须包含一个控制语句:return,break,continue或throw。 } 这里, expression 是一个布尔表达式(返回 true 或者 false )。 如果对 表达式 求值 false , guard 则执行 代码块内的语句 。 如果对

?

1.Guard语句的语法

guard expression else { 
    //语句
    //必须包含一个控制语句:return,break,continue或throw。
}
  • 这里,expression是一个布尔表达式(返回true或者false)。
  • 如果对表达式求值falseguard则执行代码块内的语句
  • 如果对表达式求值trueguard则从执行中跳过代码块内的语句

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读