在程序开发过程中,如果要使用可选值,需要先用if判断它是否有值,
如果有值,才能对它强制解包进行取值,如果为nil,则不能强制解包。
这样写程序比较繁琐,为了让代码更简洁,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 用逗号代替了 swift2中的where
//这里使用age
print(myAge)
}
//guard语句与if语句有点类似,不同的是,它只有一个代码块,并且只会在表达式判断为false时执行后续代码块,否则会跳过整个guard语句。
//注意guard语句的else中一定要有返回的语句,如return、continue、break、throw等提早退出的关键字
// 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()
特有的循环语句就是repeat-while,跟do-while语法一模一样,不做赘述了。
网友评论