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