字典是用于存储同一类型不同值的集合。它存储的每个元素包含一个键(Key)和一个值。其中的值都和键相对应。在Swift中,对于一个特定的字典,它所能存储的键和值都是确定的,无论是明确声明的类型还是隐式推断的类型。在使用字典之前,必须声明和定义。声明字典的完整写法形式如下。
Dictionary<KeyType,ValueType>
其中,KeyType表示键的数据类型;ValueType表示值的数据类型。注意:KeyType必须是可哈希的(hashable)-就是提供一种形式让它们自身时独立识别的。Swift的所有基础类型(例如字符串(String),整数(Int),双精度(Double),和布尔( Bool)默认都是可哈希的(hashable。)一般字典的声明和定义是放在一起进行的,其语法形式如下。
let 常量字典名:Dictionary<KeyType,ValueType>=内容
var 变量字典名:Dictionary<KeyType,ValueType>=内容
其中,DIctionary<KeyType,ValueType>是可以省略的。内容其实就是一些字典字面量,是一个或多个键值对。一个键值对是一个键和值的组合。键和值使用冒号分隔,而多个键值对使用逗号分割。其键值对语法形式如下。
key:value
其中,参数key表示键,value表示值。字典字面量就是由键值对和一对[]组合。字典字面量可以直邮一个键值对。字典字面量语法形式如下。
[key:value]
当字典字面量有多个键值对,其语法形式如下:
[key1:value1,key2:value2,key3:value3……]
eg:
let dic=[1:"a",2:"b",3:"c"]
print(dic)
此时运行程序,会看到如下的结果。
[3:c,2:b,1:a]
在字典中也可以进行很多的操作,如判断,插入,删除等。表3-12对字典的常用操作进行了总结(详见p56)
eg:
var dic=[1:"a",2:"b",3:"c"]
print(dic)
dic[4]="d"//添加
print(dic)
dic.removeValueForKey(3)//删除指定的键值对
print(dic)
let value=dic[2]//读取指定的键值
print(value)
此时运行程序,会看到如下的结果。
[2:b,3:c,1:a]
[2:b,3:c,1:a,4:d]
[2:b,1:a,4:d]
Optional("b")