Swift 字典学习笔记
在 Swift 中,字典是一种用来储存键值对的集合类型,其中每个键都必须是唯一的。字典可以通过使用中括号来创建,例如:
swiftCopy Codevar myDictionary = [String: Int]()
上述代码创建了一个空字典,其中键的类型为 String
,值的类型为 Int
。
我们可以使用下标语法向字典中添加键值对,例如:
swiftCopy CodemyDictionary["one"] = 1
myDictionary["two"] = 2
上述代码向字典 myDictionary
中添加了两个键值对,分别是 "one"
和 "two"
对应的值 1
和 2
。
我们也可以使用字典字面量的方式创建字典,例如:
swiftCopy Codevar myDictionary = ["one": 1, "two": 2]
上述代码创建了一个含有两个键值对的字典,其中 "one"
对应的值为 1
,"two"
对应的值为 2
。
Swift 的字典提供了很多有用的方法,例如 count
属性可以返回字典中元素的数量,例如:
swiftCopy Codeprint(myDictionary.count) // 输出: 2
我们也可以使用 keys
和 values
属性获取字典中所有的键和值,例如:
swiftCopy Codelet keys = myDictionary.keys
let values = myDictionary.values
上述代码将字典 myDictionary
中的所有键和值分别存储到了 keys
和 values
常量中。
我们还可以使用下标语法获取字典中某个键所对应的值,例如:
swiftCopy Codeprint(myDictionary["one"]) // 输出: Optional(1)
由于字典中某个键可能不存在,因此上述代码返回的是一个可选类型的值。我们也可以使用 if let
或者 guard let
等语句来判断某个键是否存在,并且获取它对应的值。
下面是一个使用字典的实例:
swiftCopy Codevar studentScores = ["Tom": 90, "Jerry": 80, "Mickey": 95]
// 输出每个学生的分数
for (name, score) in studentScores {
print("\(name)'s score is \(score)")
}
// 输出每个学生的平均分数
let totalScore = studentScores.values.reduce(0, +)
let averageScore = Double(totalScore) / Double(studentScores.count)
print("The average score is \(averageScore)")
上述代码定义了一个名为 studentScores
的字典,其中键为学生的姓名,值为他们的考试分数。接着,我们通过 for-in
循环遍历字典中的所有键值对,并且输出每个学生的分数。最后,我们计算出所有学生的平均分数并将其输出。