參考:http://www.lxweimin.com/p/3a8e45af7fdd
與if語句相同的是,guard也是基于一個表達式的布爾值去判斷一段代碼是否該被執行。與if語句不同的是,guard只有在條件不滿足的時候才會執行這段代碼。你可以把guard近似的看做是Assert,但是你可以優雅的退出而非崩潰。
guard使用
func fooGuard(x: Int?) {
guard let x = x where x > 0 else {
// 變量不符合條件判斷時,執行下面代碼
return
}
// 使用x
x.description
}