09 - 基础篇之可选类型

概念
在OC开发中,如果一个变量暂停不使用,可以赋值为0(基本属性类型)或者赋值为空(对象类型)
在swift开发中,nil也是一个特殊的类型.因为和真实的类型不匹配是不能赋值的(swift是强类型语言)
但是开发中赋值nil,在所难免.因此推出了可选类型

可选类型的使用

//   var name1:Optional = nil //不常用 等价于
        var name2: String? = nil   //常用(语法糖)
        name2 = "大哈哈"
        print(name2) //打印:Optional("大哈哈")
//        print(name2!) //注意:先判断再打印 强制解包->如果没赋值会导致奔溃   打印:大哈哈
        //注意:  强制解包是非常危险哦, 如果可选类型为nil,则会奔溃( fatal error: unexpectedly found nil while unwrapping an Optional value)
        //建议:在强制解包钱,先对可选类型进行判断
        if name2 != nil {
            print(name2!)  //强制解包  打印:大哈哈   
        }
        //针对上面写法进行优化 (可选绑定)
        //1.判断那么是否有值,如果没有值,则不执行{}
        //2.如果name有值,系统会自动将name进行解包,并且将解包后的结果,赋值给name2
        
        if let name2 = name2{
            print(name2)
        }
        

你可能感兴趣的:(09 - 基础篇之可选类型)