Swift 元组(Tuple)使用指南
Swift 元组(Tuple)是一种可以将多个不同类型的值组合成一个复合值的数据结构。它非常适合用于临时组合相关数据,而不需要自定义结构体或类。
1. 元组的定义与基本用法
let person: (String, Int) = ("Alice", 30)
print(person.0) // 输出 "Alice"
print(person.1) // 输出 30
你可以省略类型声明,Swift 会自动推断:
let point = (3, 5)
2. 命名元组元素
可以为元组的每个元素命名,提高可读性:
let person = (name: "Bob", age: 25)
print(person.name) // 输出 "Bob"
print(person.age) // 输出 25
3. 元组的解包
可以将元组的值分解为单独的常量或变量:
let (name, age) = person
print(name) // "Bob"
print(age) // 25
如果只需要部分值,可以用下划线 _
忽略:
let (name, _) = person
print(name) // "Bob"
4. 元组作为函数返回值
元组常用于函数返回多个值:
func getUser() -> (name: String, age: Int) {
return ("Carol", 22)
}
let user = getUser()
print(user.name) // "Carol"
print(user.age) // 22
5. 元组的比较与赋值
元组可以直接赋值和比较(前提是元素类型可比较):
let a = (1, "a")
let b = (1, "a")
print(a == b) // true
6. 元组的嵌套
元组可以嵌套:
let nested = (name: "Dan", info: (age: 28, city: "Beijing"))
print(nested.info.city) // "Beijing"
7. 元组的局限性
- 元组适合临时组合数据,不适合复杂数据结构。
- 元组元素数量和类型是固定的,不能动态增减。
8. 实用场景举例
交换变量
var x = 1, y = 2
(x, y) = (y, x)
print(x, y) // 2 1
遍历字典
let dict = ["a": 1, "b": 2]
for (key, value) in dict {
print("\(key): \(value)")
}