Swift--可選型--09

1.什么是可選(Optionals)類型

Swift 的可選(Optional)類型,用于處理值缺失的情況。可選表示"那兒有一個(gè)值,并且它等于 x "或者"那兒沒(méi)有值"。
Swfit語(yǔ)言定義后綴?作為命名類型Optional的簡(jiǎn)寫。

以下兩種聲明是相等的:
var optionalInteger: Int?
var optionalInteger: Optional<Int>
可選類型的應(yīng)用:
var myString:String? = nil

if myString != nil {
    print(myString)
}else{
    print("字符串為 nil")
}

2.強(qiáng)制解析

當(dāng)你確定可選類型確實(shí)包含值之后,你可以在可選的名字后面加一個(gè)感嘆號(hào)(!)來(lái)獲取值。這個(gè)感嘆號(hào)表示"我知道這個(gè)可選有值,請(qǐng)使用它。"這被稱為可選值的強(qiáng)制解析(forced unwrapping)。

var c : String? = nil
if c != nil {
    print(c!) // 強(qiáng)制解析
} else {
    print("字符串c為nil")
}

3.自動(dòng)解析

你可以在聲明可選變量時(shí)使用感嘆號(hào)(!)替換問(wèn)號(hào)(?)。這樣可選變量在使用時(shí)就不需要再加一個(gè)感嘆號(hào)(!)來(lái)獲取值,它會(huì)自動(dòng)解析。

var myString:String!

myString = "Hello, Swift!"

if myString != nil {
   print(myString)
}else{
   print("myString 值為 nil")
}

4.可選綁定

使用可選綁定(optional binding)來(lái)判斷可選類型是否包含值,如果包含就把值賦給一個(gè)臨時(shí)常量或者變量??蛇x綁定可以用在if和while語(yǔ)句中來(lái)對(duì)可選類型的值進(jìn)行判斷并把值賦給一個(gè)常量或者變量。

var myString:String?

myString = "Hello, Swift!"

if let yourString = myString {
   print("你的字符串值為 - \(yourString)")
}else{
   print("你的字符串沒(méi)有值")
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容