Swift

10.Swift学习之字典

2018-09-26  本文已影响49人  YungFan

字典的介绍

字典的初始化

// 定义一个可变字典
var dict1 : [String : Any] = [String : Any]()

// 定义一个不可变字典
let dict2 : [String : Any] = ["name" : "zhangsan", "age" : 18]
var dict1: Dictionary<Int, String>

var dict2: [Int: String]
// 定时字典的同时,进行初始化
var dict:[String : Any] = ["name" : "zhangsan", "age" : 18]

// Swift中任意类型用Any表示
var dict : Dictionary<String, Any>

dict = ["name" : "zhangsan", "age" : 18]

字典的基本操作

dict.count
dict.isEmpty
dict["height"] = 1.80
dict["weight"] = 70.0
print(dict)
dict.removeValue(forKey: "height")
print(dict)
//方式一
dict["name"] = "lisi"
//方式二
dict.updateValue("lisi", forKey: "name")
print(dict)
// 可选型
dict["name"]

字典的遍历

for value in dict.values {
    print(value)
}
for key in dict.keys {
    print(key)
}
//常用
for (key, value) in dict {
    print("\(key) --- \(value)")
}
//输出的不是key-value,而是索引和(key:value)
for (index, value) in dic.enumerated() {
    print("\(index) -- \(value)")
    //0 -- (key: "name", value: "zhangsan") 
    //1 -- (key: "age", value: 18)
}

字典的合并

// 字典的合并
var dict1: [String : Any] = ["name" : "zhangsan", "age" : 20]
var dict2: [String : Any] = ["height" : 1.80, "phoneNum" : "18888888888"]
// 字典合并不能像数组那样直接用+
for (key, value) in dict2 {
    dict1[key] = value
}
print(dict1) //["phoneNum": "18888888888", "name": "zhangsan", "age": 20, "height": 1.8]
上一篇 下一篇

猜你喜欢

热点阅读