## 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"]
```
- 学习笔记
- 基础
- 基本类型之整型
- 基本类型之浮点型
- 基本类型之布尔类型以及简单的 if 语句
- 基础类型之元组
- 基本类型之其他
- 运算符
- 基础运算符
- 比较运算符、逻辑运算符
- 三元运算符
- 范围运算符for-in
- 逻辑控制
- 循环结构
- 选择结构
- 字符串
- Character和Unicode
- String.index 和 range
- 可选型
- 容器类
- 数组初始化
- 数组基本操作
- 字典初始化
- 字典基本操作
- 集合初始化
- 集合基本操作
- 函数
- 闭包
- 枚举
- 结构体
- 类
- 文档注释
- 属性和方法
- 下标和运算符重载
- 拓展和泛型
- 协议
- 其他
- Swift 3.0 For 循环
- Swift 随机数的生成
- IOS开发玩转界面 UIKit
- UILable 文本显示控件
- UIButton 简单的交互控件
- UIImageView 图片控件
- UISearchBar 搜索控件