Swift Programming - Optional type (選項型態)
除了一般我們熟悉的資料型態外, Swift 加入了兩項Objective-C沒有的資料型態
1. Optional (選項型態)
2. Tuples
選項型態 (optional type)在 "The Swift Programming Language" 文章中是這樣形容它的,
Optionals handle the absence of a value. Optionals say either “there is a value, and it equals x” or “there is not a value at all”. Optionals are similar to using nil with pointers in Objective-C, but they work for any type, not just classes. Optionals are safer and more more expressive than nil pointers in Objective-C.
所以選項型態 (optional type)可以說成:
某變數或常數
有值且等於某值(there is a value, and it equals x)
或
無資料(there is not a value at all)
從語法的定義可以知道它的宣告方式就是在型態名稱後加在?
至於加上!, 則是當確定有資料時,解開選項型態時使用
以下我們就利用Playground來體驗選項型態 (optional type)
從上圖可以發現,
1. 在列印時,因為possibleString 是選項型態,在字串前面會Optional關鍵字.
2. 如果你沒有給選項型態的變數或常數初值,Swift為自動設 "nil" .
下圖為!的使用範例
資料參考來自:
Apple, The Swift Programming Language.