SWIFT 流程控制

if

  • Swift 中沒有 C 語言中的非零即真 概念
  • 在邏輯判斷時(shí)必須顯示地指明具體的判斷條件 true / false
  • if 語句條件的 () 可以省略
  • 但是 {} 不能省略

代碼示例
let num = 200
if num < 10 {
print("比 10 小")
} else if num > 100 {
print("比 100 大")
} else {
print("10 ~ 100 之間的數(shù)字")
}


三目運(yùn)算

Swift 中的 三目運(yùn)算保持了和 OC 一致的風(fēng)格

x > 20 ? print("大了") : print("小了")
/** () 表示執(zhí)行*/
x > 20 ? print("真的大了") : ()

適當(dāng)?shù)剡\(yùn)用三目,能夠讓代碼寫得更加簡潔


可選項(xiàng)條件判斷

  1. 初學(xué) swift 一不小心就會(huì)讓 if 的嵌套層次很深,讓代碼變得很丑陋
    if let u = url {
    if u.host == "www.baidu.com" {
    let request = NSURLRequest(URL: u)
    }
    }

  2. 使用 where 關(guān)鍵字,
    if let u = url where u.host == "www.baidu.com" {
    let request = NSURLRequest(URL: u)
    }

  3. if let name = oName, let no = oNo {
    print("姓名:" + name + " 學(xué)號: " + String(no))
    }

  4. 小結(jié)if let 不能與使用 &&、|| 等條件判斷 如果要增加條件,可以使用 where子句
    注意:where 子句沒有智能提示


guard 守衛(wèi)

guard 是與 if let 相反的語法,Swift 2.0 推出的
代碼示例

screenshot.png
  • 在程序編寫時(shí),條件檢測之后的代碼相對是比較復(fù)雜的
  • 使用 guard 的好處
    • 能夠判斷每一個(gè)值
    • 在真正的代碼邏輯部分,省略了一層嵌套

switch 使用

  • switch 不再局限于整數(shù)

  • switch 可以針對任意數(shù)據(jù)類型進(jìn)行判斷

  • 不再需要 break

  • 每一個(gè) case后面必須有可以執(zhí)行的語句要保證處理所有可能的情況,不然編譯器直接報(bào)錯(cuò),不處理的條件可以放在 default分支中

  • 每一個(gè) case中定義的變量僅在當(dāng)前 case中有效,而 OC 中需要使用 {}

示例
let score = "優(yōu)"
switch score {
case "優(yōu)": let name = "學(xué)生" print(name + "80~100分")
case "良": print("70~80分")
case "中": print("60~70分")
case "差": print("不及格")
default: break
}

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

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

  • 53.計(jì)算字符 在字符串中獲取字符值的數(shù)量, 可以使用字符串字符屬性中的計(jì)數(shù)屬性: let unusualMena...
    無灃閱讀 1,269評論 0 4
  • 好9不見,五月天。 終于等到你們! 是的,滿懷著期待和激動(dòng)的心情,終于等到了9.10成體相聚,和...
    艾麗思閱讀 1,022評論 0 0
  • 堅(jiān)持早起,跑步,學(xué)習(xí)第20天。此所謂:不積跬步無以至千里,不積小流無以成江海。
    一簾思語閱讀 316評論 0 0
  • 我只是個(gè)普通人,痛了會(huì)哭,想你了會(huì)給你打電話,渴了會(huì)喝水 我只是個(gè)愛幻想的孩子,想沙灘、陽光、大海和我的未來 我是...
    北方小確幸閱讀 169評論 0 1

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