之前在閱讀相關文章的時候,算是剛接觸Optional這個概念,對於可選的概念,覺得很模糊,不過後來知道值的「有或無」後,開始比較能理解其中的概念。我在下面會盡量以簡單的語言解釋Optional在Swift中是怎麼樣的概念:
Optional(可選項)基本上會用到兩個符號:“!”and”?”
Optional是一種曖昧的狀態:“可能有值”或“根本沒有值”
nil 代表的意思就是“這個常數或變數中沒有值”,但不是為 0 的意思,因為 0 也是值。(Jeremy Xue,2017)
咀嚼上面的字眼,nil的概念就是描述 “沒有東西” or “nothing” 的狀態
在寫Swift的時候,我們都會需要先宣吿東西,比如:
但假若今天我們想要宣告一個東西是“沒有內容”(nil)的時候,這個時候Optional的概念就派上用場了。
實用Optional的時候,基本上圍繞在幾件事情上:
Wrapped(包裹)、Force-unwrap(強制解包)
宣告Optional
又可以稱為Wrapped(包裹)
你可以在下面發現”?”出現在宣告中,這是告訴Swift,我們現在將declare這個變數宣告為“沒有內容”或“可能有內容”的意思。總之就是曖昧啦…..
簡言之,就是你剛宣告的那個Optional,現在要把它解開,而解開方式一共有五種:
if檢查
可選綁定(Optional binding)
總而言之,依照可選綁定的邏輯,possibleNumber這個常數如果有賦值的話,在實際運作上就可以被打印出東西來
guard語句的判斷,是基於布林值的,也就是我下面提及的部分,將possiblenumber文字轉換為數字。Int(possiblenumber)會變成True,也就是“有”東西
Int(possiblenumber)會變成False,也就是“沒有”東西
基本上大概介紹這五種對於可選項的解決辦法,大概可以說:
稍微對於「可選」這個概念有一些初步的認識。
鐵人賽