可选项
1. 定义可选项,最原始的方法
Optional<Int>,表示 x 要么有整数值,要么为 nil
<Int> 泛型
let x: Optional = 10
2. 定义可选项,类型? 的格式
Int? 表示 x 要么有整数值,要么为 nil
`?` 是专门用来定义可选项的
//常量的可选项,没有默认值
let y: Int?
y = 10
print(y)
// 变量的可选项,默认值是 nil
var z: Int?
z = 100
print(z)
print("计算")<span style="font-family: HannotateSC-W5; background-color: rgb(255, 255, 255);"> </span>
可选项不能直接参与计算!因为可能有值,也有可能为 nil
如果要让可选项参与计算,需要 `解包 unwarp`
unexpectedly found nil while unwrapping an Optional value
翻译:在解包可选项的时候,发现了空值
`!` 用来解包 - 如果出现 nil,会直接崩溃!
`!` 表示程序猿向编译器承诺,一定有值,如果没有,就崩!
`!` 又叫做强行解包!从可选项中把值取出来,如果没有值,抛出异常
print(x! + y! + z!)