Swift Review#34[曖昧的東西-可選項Optional]

前言

之前在閱讀相關文章的時候,算是剛接觸Optional這個概念,對於可選的概念,覺得很模糊,不過後來知道值的「有或無」後,開始比較能理解其中的概念。我在下面會盡量以簡單的語言解釋Optional在Swift中是怎麼樣的概念:

  • Optional(可選項)基本上會用到兩個符號:“!”and”?”
  • Optional是一種曖昧的狀態:“可能有值”或“根本沒有值”

正文

何謂空值?

nil 代表的意思就是“這個常數或變數中沒有值”,但不是為 0 的意思,因為 0 也是值。(Jeremy Xue,2017)

咀嚼上面的字眼,nil的概念就是描述 “沒有東西” or “nothing” 的狀態

為什麼需要Optional(可選項)?

在寫Swift的時候,我們都會需要先宣吿東西,比如:

但假若今天我們想要宣告一個東西是“沒有內容”(nil)的時候,這個時候Optional的概念就派上用場了。

實用Optional的時候,基本上圍繞在幾件事情上:

Wrapped(包裹)、Force-unwrap(強制解包)

宣告Optional

又可以稱為Wrapped(包裹)

你可以在下面發現”?”出現在宣告中,這是告訴Swift,我們現在將declare這個變數宣告為“沒有內容”或“可能有內容”的意思。總之就是曖昧啦…..

解包(Unwrap)

簡言之,就是你剛宣告的那個Optional,現在要把它解開,而解開方式一共有五種:

1.強制解包

2. if檢查

3. 可選綁定(Optional binding)

總而言之,依照可選綁定的邏輯,possibleNumber這個常數如果有賦值的話,在實際運作上就可以被打印出東西來

4.??(Nil Coalescing Operator)

5.guard語句

guard語句的判斷,是基於布林值的,也就是我下面提及的部分,將possiblenumber文字轉換為數字。Int(possiblenumber)會變成True,也就是“有”東西

Int(possiblenumber)會變成False,也就是“沒有”東西

基本上大概介紹這五種對於可選項的解決辦法,大概可以說:
稍微對於「可選」這個概念有一些初步的認識。

往後會更深入於其他關於可選的周邊知識,以上相關五點,有參考AppCoda上的文章

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

影山小麥機
影山小麥機

Written by 影山小麥機

本職為Mobile工程師,熱愛分享視野,也樂意站在ChatGPT的肩膀上。訂閱小麥機,收割技術、職涯、人生的難題。

No responses yet

Write a response