Skip to content

语句

循环

使用 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("在这个位置上")
}