Swift條件判斷中逗號(hào)的使用方法示例
前言
眾所周知在Swift語(yǔ)言中,Bool值是用來(lái)進(jìn)行條件判斷的,可以進(jìn)行&&以及||的操作,從而實(shí)現(xiàn)多個(gè)表達(dá)式共同判斷。
但是由于Swift中存在可選項(xiàng)綁定,或者說(shuō)是用let展開(kāi)可選項(xiàng)的原因,有些地方條件判斷中不能夠使用&&來(lái)進(jìn)行處理。比如,我們要在變量hasValue確實(shí)有值,且參數(shù)個(gè)數(shù)paramCount大于0的時(shí)候,執(zhí)行代碼,一般我們可以這樣寫(xiě):
if hasValue != nil && paramCount > 0 {
...
}
但是如果我們?cè)诤罄m(xù)代碼中中要使用hasValue的值的話(huà),就不能夠只判斷hasValue是否為nil了,而應(yīng)該使用可選項(xiàng)綁定把值給讀出來(lái),也就是下面的代碼:
if let hasValue = hasValue {
if paramCount > 0 {
...
}
}
由于let hasValue = hasValue并不會(huì)返回一個(gè)Bool值,導(dǎo)致兩個(gè)條件不能夠使用&&進(jìn)行判斷,這個(gè)時(shí)候,我們就要使用所謂的逗號(hào)了,也就是可以寫(xiě)成:
if let hasValue = hasValue, paramCount > 0 {
...
}
這個(gè)樣子就可以滿(mǎn)足我們的需求,代碼逼著上面的代碼少了一層判斷,看起來(lái)會(huì)更加友好。特別是當(dāng)我們需要可選項(xiàng)綁定多個(gè)變量時(shí),這樣寫(xiě)會(huì)更加的方便。如:
if let a = a, let b = b, let c = c, let d = d, e < 0, f > 0 {
...
}
如果不使用,進(jìn)行分割,而是一個(gè)個(gè)判斷的話(huà),將會(huì)進(jìn)入多重判斷的坑里,讓代碼臃腫不堪。
總的來(lái)說(shuō),條件判斷中逗號(hào)的作用類(lèi)似于&&,但是它除了連接Bool值,也可以用來(lái)連接可選項(xiàng)綁定的判斷。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,本文還有許多不足,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
swift中c風(fēng)格的for循環(huán)執(zhí)行效率
這篇文章主要介紹了swift中c風(fēng)格的for循環(huán)執(zhí)行效率 的相關(guān)資料,需要的朋友可以參考下2016-07-07
Swift?并發(fā)修改Sendable?閉包實(shí)例詳解
這篇文章主要為大家介紹了Swift?并發(fā)修改Sendable?閉包實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
SwiftUI 中創(chuàng)建反彈動(dòng)畫(huà)的實(shí)現(xiàn)
這篇文章主要介紹了SwiftUI 中創(chuàng)建反彈動(dòng)畫(huà)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Objective-c代碼如何移植為Swift代碼 Objective-c代碼轉(zhuǎn)移到Swift過(guò)程介紹
這篇文章主要介紹了Objective-c代碼如何移植為Swift代碼,Objective-c代碼轉(zhuǎn)移到Swift過(guò)程介紹,需要的朋友可以參考下2014-07-07
Swift下使用UICollectionView 實(shí)現(xiàn)長(zhǎng)按拖拽功能
拖拽排序是新聞?lì)惖腁pp可以說(shuō)是必有的交互設(shè)計(jì),如今日頭條,網(wǎng)易新聞等。這篇文章主要介紹了Swift下使用UICollectionView 長(zhǎng)按拖拽功能,需要的朋友可以參考下2017-03-03
swift內(nèi)存管理指針類(lèi)型使用實(shí)例詳解
這篇文章主要為大家介紹了swift內(nèi)存管理指針類(lèi)型使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Swift 3.0基礎(chǔ)學(xué)習(xí)之?dāng)U展
擴(kuò)展是向一個(gè)已有的類(lèi)、結(jié)構(gòu)體或枚舉類(lèi)型添加新的功能(在swift中擴(kuò)展沒(méi)有名字)。相當(dāng)于Objective-C中Category(OC中可以有名字的,而且只能擴(kuò)展類(lèi))。這篇文章主要介紹了Swift 3.0基礎(chǔ)學(xué)習(xí)之?dāng)U展的相關(guān)資料,需要的朋友可以參考下。2017-03-03

