Optional可选类型

1、可选类型的声明

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

tips:

可选类型的标准写法

var a:Int?
var a:Optional

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

你可能感兴趣的:(Optional可选类型)