在Swift中理解選項和驚嘆號


Swift是一種強類型語言,意味著所有變量都必須有一個定義的類型。

在Swift中,有一種特殊的類型叫做”Optional”,它只能有兩種可能的值:

  1. 一個未設定的值,意味著它從未被設定,或者有人明確地將它設定為未設定的狀態,即,設定為nil的值。
  2. 一個設置為特定東西的值。

例如:

    var something = display.text

something的類型是什麼?我們並未指定此變量的類型,但是Swift可以從上下文中推斷出來。它將something設為和display.text同樣的類型。假設display.text的類型是String;那麼something將會是一個Optional String,即,它是一個可能包含String的Optional。

那麼您如何從Optional中提取一個字符串?您可以”解包”Optional,也就是說,您可以檢查它並取出相關的值,使用驚嘆號:

    var something = display.text!

現在,something的類型是String,而不是Optional。請注意,如果display.text的值是nil,那麼您的程式將會崩潰!