首页 > 代码库 > swift 可选类型(optional)--- swift 入门

swift 可选类型(optional)--- swift 入门

一、思维导图

技术分享

二、代码

//这样无形中就会让代码很丑陋
        if x != nil && y != nil {
            print("x或y都不等于空")
        }
        print("x或y有一个为空")
  //1 使用??
        let name:String? = "我最帅"
        let age:Int = 18
        //??代表可选型解包
        //下面两个执行结果由于值的变化而表现的不一样,
        print(name ?? "" + String(age)) //我最帅,因为他的优先级最低
        print((name ?? "") + String(age)) //我最帅 18,因为有括号,优先级别会很高
//        
     //1 使用 if let 
        let new:String? = "新的类型"
        let oAge:Int? = 18
//        if let new = new ,
//            let oAge = oAge {
//            print(new+String(oAge))
//        }else{
//            print("new或oAge为空")
//        }
     // 使用 guard let,前面为新定义的名字,用法与if let 恰恰相反
        guard let onew = new, let ages = oAge else {
            
            print("new或oAge为空")
            return
        }
        print(onew + String(ages))

 

swift 可选类型(optional)--- swift 入门