逻辑分支主要包括:
- if语句
- 三目运算符
- switch语句
- guard
if语句
- 和OC中if语句有一定的区别
- 判断句可以不加()
- 在Swift的判断句中必须有明确的真假
- 不再有非0即真
- 必须有明确的Bool值
- Bool有两个取值:false/true
let score = 99
if score < 60 {
print("不及格")
} else if score <= 70 {
print("及格")
} else if score <= 80 {
print("良好")
} else if score <= 100 {
print("优秀")
}
三目运算符
和OC没什么区别
var a = 10
var b = 50
var result = a > b ? a : b
println(result)
switch语句
与OC不同之处:
- switch后可以不跟()
- case后可以不跟break(默认会有break)
- 一个case判断中,可以判断多个值;多个值以,隔开
- 如果希望出现之前的case穿透,则可以使用关键字fallthrough
- 支持多种数据类型,例如字符串与浮点型
- 支持区间判断
- 开区间:0..<10 表示:0~9,不包括10
- 闭区间:0...10 表示:0~10
let sex = 0
switch sex {
case 0 :
print("男")
case 1 :
print("女")
default :
print("其他")
}
let score = 88
switch score {
case 0..<60:
print("不及格")
case 60..<80:
print("几个")
case 80..<90:
print("良好")
case 90..<100:
print("优秀")
default:
print("满分")
}
guard
- guard是Swift2.0新增的语法
- 它与if语句非常类似,它设计的目的是提高程序的可读性
- guard语句必须带有else语句,它的语法如下:
- 当条件表达式为true时候跳过else语句中的内容,执行语句组内容
- 条件表达式为false时候执行else语句中的内容,跳转语句一般是return、break、continue和throw
guard 条件表达式 else {
break
}
语句组
例如:
var age = 18
func online(age : Int) -> Void {
guard age >= 18 else {
print("回家去")
return
}
print("可以上网")
}
online(age)
输出:可以上网
网友评论