📜  斯威夫特 - 字典(1)

📅  最后修改于: 2023-12-03 14:55:04.349000             🧑  作者: Mango

斯威夫特 - 字典

斯威夫特(Swift)是苹果公司推出的一种新的编程语言,由于其极高的开发效率和语言特性的优化,受到了广泛的工程师的青睐和使用。

在斯威夫特中,字典(Dictionary)是一种高效的键值对集合,它是由键和值组成的无序集合,其中每个键都是唯一的。字典类似于数组,但是它不是通过整数索引值来访问元素的,而是通过键来访问值。

创建字典

使用Dictionary关键字或者中括号的形式来创建一个字典,语法如下:

// 使用类型推断
var dict1 = ["name": "John", "age": 25, "gender": "male"]

// 显式指定类型
var dict2: [String: Any] = ["name": "Tom", "age": 30, "gender": "male"]

使用Dictionary关键字创建字典的方式,可以使用斯威夫特的类型推导机制,不需要显示指定类型。上述代码创建了两个字典,其中一个字典(dict1)的键和值的类型被推导为StringInt,另一个字典(dict2)的键和值类型被显示指定为StringAny

访问字典

使用中括号([])来访问一个字典中的元素,语法如下:

// 使用中括号访问字典中的元素
let name = dict1["name"]
print(name ?? "")          // John

如果访问的键存在于字典中,那么就会返回该键所对应的值,否则会返回nil。如果可以确定该键一定存在于字典中,可以使用!将可选类型强制解包。

遍历字典

使用for…in循环结构,可以遍历字典中的键值对,语法如下:

for (key, value) in dict1 {
    print("\(key): \(value)")
}
/*
name: John
age: 25
gender: male
*/
修改字典

使用中括号来修改字典中的元素,如果该键不存在于字典中,就会被添加到字典中,语法如下:

// 修改元素
dict1["age"] = 27
print(dict1)    // ["name": "John", "age": 27, "gender": "male"]

// 添加元素
dict1["address"] = "New York"
print(dict1)    // ["name": "John", "age": 27, "gender": "male", "address": "New York"]
删除字典

使用removeValue(forKey:)方法来删除字典中指定的元素,或者使用removeAll()方法来删除字典中的所有元素,语法如下:

// 删除元素
dict1.removeValue(forKey: "name")
print(dict1)    // ["age": 27, "gender": "male", "address": "New York"]

// 删除所有元素
dict1.removeAll()
print(dict1)    // [:]
总结

通过本文的介绍,我们了解了如何在斯威夫特中创建、访问、遍历、修改和删除字典。字典作为一种高效的键值对集合,在实际开发中非常常用。掌握了上述操作,相信读者已经可以更加运用斯威夫特的高效语言特性,开发出更加优秀的应用程序。