分支
import UIKit
// if
/*: if * 大部分用于和OC中一致 * Swif中条件语句可以不用写() * OC中如果if后面只有一条语句,那么{}可以省略,但是Swift不行 * OC中条件语句可以是任何数值,OC中非0即真,YES/NO * Swift中条件语句的取值必须是Bool类型,也就是说Swift中提供了真正的Bool类型,true/false */
let score = 99
//if number = 10 // Swift有效的避免了这种问题
if score == 99
{
print(score)
}
if score >= 72
{
print("及格")
}else{
print("不及格")
}
// 三目运算符
/*: 三目运算符 * 大部分用法和OC一样 * 条件表达式只能是Bool值 */
print(score >= 72 ? "及格" : "不及格")
// switch
/*: switch * 大部分用法和OC一样 * Swift中条件语句可以不用写() * OC中default可以省略,而Swift中大部分情况不能省略 * OC中default的位置可以随便写,而Swift不可以 * OC中每个case后面必须加上break,否则会出现穿透,而Swift不会穿透,也就是说不用写break * OC中要在case中间定义变量必须加上{},否则作用域混乱,而Swift不用 * 可以判断区间和元祖 */
switch score
{
case 71:
print("不及格")
var num = 100
100:
print("满分")
default:
print("Other")
}
// 判断区间
/*: 区间 * 闭区间: 0...10,取值范围0~10,包含头包含尾 * 半闭区间: 0..<10 取值范围0~9,包含头不包含尾 */
0..<72: // 0~71
print("不及格")
60..<85: // 72~84
print("良好")
80..<100: // 85~99
print("优秀")
"满分")
}
// 判断元祖
let point = (100,50)
switch point
{
case (0,31)">0):
print("原点")
50,31)">50):
print("中点")
100):
print("右下角")
default:
print(// 取出元祖中的值
case (var x,var y) where x > y:
print(x)
print(y)
"Other")
}
原文链接:https://www.f2er.com/swift/325670.html