摘要訊息 : 學習 Swift 中的問號和感嘆號.
0. 前言
本文于 2022 年 3 月 18 日进行一次更新和修正. 修正之后本文已经归档, 不再享受更新.
1. Swift 的初始化
在 Swift 语言中, 我们使用 var
来定义变量, 但是 Swift 并不会自动给一个变量赋初始值. 当没有对值进行初始化的时候, 编译器就会报错.
2. Optional
类型与问号 ?
和感叹号 !
Optional
类型实际上是一个 enum
枚举类型, 该枚举类型包括了 None
和 Some
两个元素.
nil
对应枚举值 Optional.None
.
当我们做如下定义 :
var a : Int?
a = 6
print(a) // 结果 : Optional(6)
此时, a 不属于 Int
类型, 而是属于 Optional
类型.
对于一个 Optional
类型, 如果它未被初始化, 则初始值为 nil
.
在 a
的右侧添加了一个前面没有空格的问号 ?
表示对 a
变量进行拆包
, 尝试获得 Optional
包中的 Int
值.
当将问号 ?
改成感叹号 !
var a : Int!
a = 6
print(a) //结果 : 6
当使用感叹号的时候, 相当于在告诉编译器 : 我确定 a
一定不是 nil
.
自創文章, 原著 : Jonny. 如若閣下需要轉發, 在已經授權的情況下請註明本文出處 :