系統(tǒng):macOS Sierra 10.12.6
工具:xcode8.3.1
語言:swift3.0.2
在學(xué)習(xí)swift中市怎,問號?與感嘆號??可謂是一大特色,但是使用起來灵疮,確實有那么一些容易讓人迷糊谆棱,首先阶祭,明白這個兩個符號在swift中的使用定義:
問號?:問號暗示包含的值是可選類型,也就是說可能包含某個類型的值也可能不包含值勒奇。
感嘆號??:當(dāng)你確定可選類型確實包含值之后预鬓,你可以在可選的名字后面加一個感嘆號(!)來獲取值。這個驚嘆號表示“我知道這個可選有值赊颠,請使用它格二。”這被稱為可選值的強制解析竣蹦。
下面通過例子演示:
此處蟋定,將字符串轉(zhuǎn)換成Int類型,xcode會自動提示警告草添,為啥驶兜?
1、如果所轉(zhuǎn)換的字符串剛好是Int远寸,則返回相關(guān)值抄淑,即 123。
2驰后、如果possibleNumber = “Hello”或者 ??,則返回可能不包含值
所以在類型轉(zhuǎn)換的時候肆资,顯示判斷出possibleNumber的類型,然后依據(jù)類型所定義的值進行轉(zhuǎn)換灶芝,而possibleNumber為String類型郑原,所以存在轉(zhuǎn)換Int為空的現(xiàn)象。
下面是改為感嘆號模式夜涕,表示一定有值犯犁,在swift中nil不是指針——它是一個確定的值,用來表示值缺失
沒有提示女器,運行成功