Swift 字典之初始化

存储键、值,数据对的无序数据集。

创建字典

创建空字典

声明不同类型的空字典

var emptyDict1: Dictionary<String,Int> = [:] // 键是String类型,值是Int类型的空字典
var emptyDict2: [Int:String] = [:] // 键是Int类型,值是String类型的空字典
var emptyDict3 = [String:String]() // 键是String类型,值是String类型的空字典
var emptyDict4 = Dictionary<Int,Int>() // 键和值都是Int类型的空字典

创建一般字典

var dict: Dictionary<String,String> = ["swift":"雨燕,快速","python":"大蟒","java":"爪洼岛","groovy":"绝妙的,时髦的"] // var dict: [String:String] = .. 或者 var dict: Dictionary = .. 

// 字典的解包
if let value = dict["swift"] {
    print("swift 的意思是 \(value)") // swift 的意思是 雨燕,快速
}

字典的无序的。 在同一个字典中不允许声明同一个key作为字典的键。

字典值的获取

由于字典是无序的数据集合,可以通过字典的key去获取值。

dict["swift"] // 返回一个可选型 Optional("雨燕,快速")
dict["php"] // nil

数组的基本查询

dict.count // 判断字典的元素个数

dict.isEmpty // 判断字段是否为空

Array(dict.keys) // 返回字典中所有的键,并存储在数组中
Array(dict.values) // 返回字典中所有的值,并存储在数组中

字典的遍历

// 遍历字典的键
for key in dict.keys {
    print(key)
}

// 遍历字典中的值
for value in dict.values {
    print(value)
}

// 遍历字典中的所有键值
for (key, value) in dict {
    print("\(key) : \(value)")
}

字典是值类型

var dir1 = ["key1":"val","key2":"val2"]
var dir2 = dir1

dir2["key1"] = "value1"

dir1 // ["key2": "val2", "key1": "val"]
dir2 // ["key2": "val2", "key1": "value1"]
Copyright © http://blog.webfsd.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2018-01-02 01:37:26

results matching ""

    No results matching ""