控制流是编程中用来控制代码执行顺序的关键部分。Swift 提供了多种控制流语句,如条件语句、循环语句和 switch 语句,帮助开发者根据条件执行不同的代码块或多次重复执行代码。
3.1 条件语句
在 Swift 中,条件语句包括 if、else if 和 else,用于根据布尔表达式的结果执行不同的代码块。
if else示例:
let age = 18if age >= 18 {print("You are an adult.")
} else {print("You are a minor.")
}
else if 示例
可以使用 else if 来增加多个条件判断。
let score = 85if score >= 90 {print("Grade: A")
} else if score >= 80 {print("Grade: B")
} else if score >= 70 {print("Grade: C")
} else {print("Grade: D")
}
3.2 循环语句
Swift 支持多种循环语句,主要包括 for 循环和 while 循环,用于重复执行代码块。
for 循环
for 循环常用于遍历数组或重复执行指定次数的代码。
示例代码:
let names = ["Alice", "Bob", "Charlie"]for name in names {print("Hello, \(name)!")
}
遍历一个范围
for i in 1...5 {print("Number \(i)")
}
在上例中,1…5 表示从 1 到 5 的闭区间,for 循环会执行 5 次。
while 循环
while 循环会在每次循环前检查条件,只有条件为 true 时才会继续执行。
示例代码:
var count = 0while count < 5 {print("Count is \(count)")count += 1
}
repeat-while 循环
repeat-while 循环和 while 类似,但它会先执行一次代码块,然后再检查条件。
示例代码:
var number = 1repeat {print("Number is \(number)")number += 1
} while number <= 5
3.3 switch 语句
switch 语句是一种多分支条件语句,适用于处理多个条件情况。与 if-else 不同的是,switch 语句在 Swift 中不需要使用 break,每个分支默认只执行一次。
基本示例
let grade = "B"switch grade {
case "A":print("Excellent")
case "B":print("Good")
case "C":print("Average")
case "D":print("Poor")
default:print("Invalid grade")
}
使用范围匹配
switch 还支持模式匹配,比如数字范围和布尔条件。
let score = 75switch score {
case 90...100:print("Excellent")
case 80..<90:print("Good")
case 70..<80:print("Average")
default:print("Needs Improvement")
}
元组匹配
switch 可以用于匹配多个条件的元组。
let coordinates = (x: 0, y: 0)switch coordinates {
case (0, 0):print("Origin")
case (let x, 0):print("On the X-axis at \(x)")
case (0, let y):print("On the Y-axis at \(y)")
case let (x, y):print("At point (\(x), \(y))")
}
通过掌握 Swift 中的控制流语句,你可以灵活地控制代码的执行顺序,使程序的逻辑更加清晰。下一章我们将介绍 Swift 中的函数与闭包。