山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

2014年12月1日

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.

熱門文章