Optional可选类型

1、可选类型的声明

在声明常量或者变量时,在类型的后面加问号(?),即表示它是可选类型。声明可选变量格式如下(可选变量显而易见)
var 变量名:变量类型? = 变量值
var a:Int? = 3
可选类型的意思就是该变量可以为nil

tips:

可选类型的标准写法

var a:Int?
var a:Optional<Int>

2、解包

可选项不能直接参与计算,要使用可选项的值就必须对它进行解包。解包方法是在可选项后边加感叹号(!),表示取得可选项的值,如果没有值,则编译器报错。
eg:

let a:Int? = 3
print(a!)

3、隐式可选类型

只需将定义常量或变量时候的?改为!

let str:String? = "可选"
print(str!)
let str1:String! = "隐式可选"
pring(str)

隐式可选类型本质上就是可选类型,所以除了不需要每次强制解包取值之外,其它特征是与可选类型一样的。

4、空合并运算符

不多说,看代码自己体会
假如let a:Int?
那么a ?? b等价于a != nil ? a! : b

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容