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, 如若需要轉發, 在已經授權的情況下請註明出處 :《Swift 补习课 : 问号 ? 和感叹号 !》https://jonny.vip/2017/10/02/swift-%e8%a1%a5%e4%b9%a0%e8%af%be-%e9%97%ae%e5%8f%b7%e5%92%8c%e6%84%9f%e5%8f%b9%e5%8f%b7/
Leave a Reply