Swift 教程(五)--控制流

Swift 提供所有多樣化的控制流語句。包括 while 循環來多次執行任務; if 、guard、switch 語句來基於特定的條件執行不同的代碼分支;還有比如 break 和 continue 語句來傳遞執行流到你代碼的另一個點上。

下面羅列出了 Swift 中的控制流的一些關鍵字:

  • For in 循環
  • While 循環
  • Repeat - While
  • If
  • Switch
  • Where
  • continue
  • break
  • fallthrough
  • return
  • throw
  • guard

guard 語句,類似於 if 語句,基於布爾值表達式來執行語句。使用 guard 語句來要求一個條件必須是真才能執行 guard 之後的語句。與 if 語句不同,guard 語句總是有一個 else 分句 – else 分句裏的代碼會在條件不爲真的時候執行。
例如:

func guardString(name:String){
    guard name.count > 0 else {
        print("輸入name爲空")
        return
        }
    print("guardString==\(name)")
}

guardString(name: "")
//輸出:輸入name爲空

如果 guard 語句的條件被滿足,代碼會繼續執行直到 guard 語句後的花括號。任何在條件中使用可選項綁定而賦值的變量或者常量在 guard 所在的代碼塊中隨後的代碼裏都是可用的。

如果這個條件沒有被滿足,那麼在 else 分支裏的代碼就會被執行。這個分支必須轉移控制結束 guard 所在的代碼塊。要這麼做可以使用控制轉移語句比如 return , break , continue 或者 throw ,或者它可以調用一個不帶有返回值的函數或者方法,比如 fatalError() 。

相對於使用 if 語句來做同樣的事情,爲需求使用 guard 語句來提升你代碼的穩定性。它會讓正常地寫代碼而不用把它們包裹進 else 代碼塊,並且它允許你保留在需求之後處理危險的需求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章