字典(Dictionary)是一种键值对(key-value)类型的数据结构。它允许你通过一个唯一的键(key)来存取和管理数据。可以把它想象成一本词典,通过单词(键)来找到对应的解释(值)。在 Swift 中,字典非常有用,尤其是在你需要快速查找某些数据时。
创建字典
// 创建一个空字典
var emptyDict: [String: Int] = [:]
// 创建一个带有初始值的字典
var personAge: [String: Int] = ["Alice": 25, "Bob": 30]
访问字典中的值
可以通过键来获取值:
let age = personAge["Alice"] // age is Optional(25)
// 使用默认值来避免 Optional
let age = personAge["Charlie", default: 0] // age is 0
更新字典中的值
// 添加或更新一个键值对
personAge["Alice"] = 26 // 更新 Alice 的年龄
personAge["Charlie"] = 22 // 添加新的键值对
// 使用 updateValue(_:forKey:) 方法
personAge.updateValue(28, forKey: "Bob") // 更新 Bob 的年龄
删除字典中的键值对
personAge["Alice"] = nil // 删除键为 "Alice" 的键值对
// 使用 removeValue(forKey:) 方法
personAge.removeValue(forKey: "Bob")
遍历字典
可以使用 for-in 循环遍历字典中的所有键值对:
for (name, age) in personAge {
print("\(name) is \(age) years old")
}
// 只遍历键
for name in personAge.keys {
print("Name: \(name)")
}
// 只遍历值
for age in personAge.values {
print("Age: \(age)")
}
字典的方法和属性
count: 获取字典中的键值对数量。
isEmpty: 判断字典是否为空。
keys 和 values: 获取字典的所有键或值。
let count = personAge.count // 2
let isEmpty = personAge.isEmpty // false
let names = personAge.keys // ["Alice", "Bob"]
let ages = personAge.values // [26, 30]