语句
循环
使用 for in
循环,可以循环集合、数组、字典、区间
循环集合
swift
var a = Set(["苹果", "橘子", "柠檬"])
for item in a {
print(item)
}
循环数组
swift
var a = ["苹果", "橘子", "柠檬"]
for item in a {
print(item)
}
循环字典
swift
var a = [true: "张三", false: "李四"]
for (k, v) in a {
print(k, v)
}
循环区间
swift
var a = 1...10
for i in a {
print(i)
}
while
循环,满足条件才能进入循环
swift
var a = 10
while a < 16{
print(a)
a += 1
}
repeat while
循环,先进入一次循环体,再判断条件
swift
var a = 10
repeat {
print(a)
} while a < 16
if
if
语句例子
swift
var a = 10
if a > 2 && a < 5{
print(2)
} else if a > 5 && a < 10 {
print(5)
} else {
print(10)
}
也可使用 if else
来实现类似三元运算符的效果
swift
let num = 20
let res = if num > 10 {
"大于10"
} else {
"小于10"
}
print(res) // 大于10
switch
switch
必须带有 case
。条件执行完自动退出 switch 语句
swift
var a = 68
switch a {
case 100:
print("满分")
case 90...99:
print("优秀")
case 80,81,82,83,84,85,86,87,88,89:
print("完美")
case 60..<80:
print("合格")
default:
print("不合格")
}
使用 fallthrough
关键字可跌落到下一个条件判断内部
swift
var a = 80
switch a {
case 100:
print("满分")
case 90...99:
print("优秀")
case 80,81,82,83,84,85,86,87,88,89:
print("完美")
fallthrough
case 60..<80:
print("合格")
default:
print("不合格")
}
// 完美
// 合格
如果希望像 if else
一样写 switch,可使用下面方式:
swift
var a = 80
switch a {
case (let s) where s > 90:
print("优秀")
case (let z) where z > 80:
print("完美")
default:
print("一般般")
}
获取使用元组
swift
var position = (0,30)
switch position{
case (0,0):
print("点在原点上")
case(0,let y):
print("点在y轴\(y)位置上")
case(let x,0):
print("点在x轴\(x)位置上")
default:
print("在这个位置上")
}