在程序開發(fā)過程中,如果要使用可選值,需要先用if判斷它是否有值,
如果有值,才能對(duì)它強(qiáng)制解包進(jìn)行取值,如果為nil,則不能強(qiáng)制解包。
這樣寫程序比較繁瑣,為了讓代碼更簡潔,swift推出了if-let語法
一切盡在注釋中。
func test(){
// MARK: if-let 語句
let age:Int? = 15
if age == nil || age! > 18{
print("age為空或age大于18歲")
return
}
//這里可以使用age
print(age!)
//這里一段代碼可以代替上邊的代碼
if let myAge = age, myAge < 18 { //swift3 用逗號(hào)代替了 swift2中的where
//這里使用age
print(myAge)
}
//guard語句與if語句有點(diǎn)類似,不同的是,它只有一個(gè)代碼塊,并且只會(huì)在表達(dá)式判斷為false時(shí)執(zhí)行后續(xù)代碼塊,否則會(huì)跳過整個(gè)guard語句。
//注意guard語句的else中一定要有返回的語句,如return、continue、break、throw等提早退出的關(guān)鍵字
// MARK: guard 語句
// guard 1>2 else {
// print("判斷語句為false")
// continue
// }
// MARK: guard-let 語句
guard let meAge = age, meAge > 18 else {
print("age小于18")
return
}
//guard-let變量的作用域 比 if-let的作用域要大奧
print(meAge)
}
test()
特有的循環(huán)語句就是repeat-while,跟do-while語法一模一樣,不做贅述了。