学习了一阵swift对于optional类型一直不是很了解,为此特意学习了一下,通过观看斯坦福大学的视频,将他所讲的进行了总结
optional 有两个值
1.not set (未设)
代表这个值没有被任何人设置过, 或者 有人把他设置成了 未设 状态
我们说这个是nil , 就是未设 的意思, 就是optional 变量在 未设 状态下的值 not set
2.something (被赋了一个值)
let digit : String?
被设置赋了一个值 , 这个值的类型就是 ? 前面那个东西代表的类型
如果问号左边的那个string 就表示,如果这个optional变量被赋了值的话,那么它的类型就是string 我们可以称它为 optional string
他确实是 optional类型的 , 他不是一个可以为nil 的String 但是他是optional 类型的 可以被赋值为String
unwrapped (解包) 这个optional类型的数据 就是 打开这个optional类型 的 数据 找到它里边的值
用 ! 就可以获取到它的值
解包出现的两种情况:
如果optional 的数据 没有设置值 为nil的时候 我们进行解包操作 unwrapped 程序就会崩溃,
如果不是nil 就会得到String 或者其他类型的数据