Swift 的可选类型,用于声明该值可能为空。Optional
本身是个枚举,OC也引入了nonnull
和nullable
来表明该属性是否一定有值。
Swfit语言定义后缀?
作为命名类型Optional的简写,以下两种声明是相等的:
var optionalInteger: Int?
var optionalInteger: Optional<Int>
Optional
Optional是一个含有两种情况的枚举,None
和 Some(T)
,用来表示可能没有值。任何类型都可以明确声明为(或者隐式转换)可选类型。
当你声明一个可选变量或者可选属性的时候没有提供初始值,它的值会默认为 nil
。
如果一个可选类型的实例包含一个值,你可以用后缀操作符!
来访问这个值,例如:
let a: Int? = 2 / /Optional(2)
let b = a! // 2
使用操作符!
去获取值为nil的可选变量会抛出异常,你可以用可选链接和可选绑定选择性执行可选表达式上的操作。如果值为nil
则不会执行任何操作,条件满足则会执行代码块中的代码。当你确定可选类型确实有值,你可以在可选的名字后面加一个!
来获取值。例如:
let str: String? = "monkey"
if let monkey = str {
print(str)
}
网友评论