字典是由兩部分內(nèi)容構(gòu)成的,一個是鍵(key) ,一個是值(value)。字典是一種存儲多個類型相同的值的容器。每個值都和一個唯一的鍵相對應(yīng),這個鍵在字典里就是其對應(yīng)值的唯一標(biāo)識。鍵是不能有重復(fù)元素的,而值是可以重復(fù)的,鍵和值是成對出現(xiàn)的。跟數(shù)組不同,字典里的元素并沒有特定的順序。在“字典”中使用鍵來查詢其對應(yīng)值的方式,跟在“現(xiàn)實世界的字典”中使用單詞查詢單詞定義差不多。
6.2.1字典創(chuàng)建
Swift的字典類型定義的格式如下:
Dictionary,
其中KeyType是字典中鍵的類型,ValueType是字典中值的類型。首先我們來聲明一個空字典
1 | ?var ?addressDict = Dictionary()
我們創(chuàng)建一個空的字典addressDict。鍵為String類型,值也為String,初始化后沒有任何元素。
字典是以鍵值對的形式出現(xiàn)的,鍵值對是一個鍵和一個值的組合。在字典中,每對鍵值對中的鍵和值使用冒號分開,鍵值對之間用逗號分開,用一對方括號將這些鍵值對包起來:
[key 1:value 1,key 2:value 2,key 3:value 3]
下面我們來創(chuàng)建一個鍵表示城市和值表示地區(qū)的字典,示例代碼如下:
1| ?var addressDict1: Dictionary = ["上海" : "黃浦區(qū)","廣東" : "深圳","江蘇" : "南京"]
2| ?var addressDict2 = ["上海" : "黃浦區(qū)","廣東" : "深圳","江蘇" : "南京"]
3| ?let addressDict3 = ["上海" : "黃浦區(qū)","廣東" : "深圳","江蘇" : "南京"]
上述代碼,采用3種寫法創(chuàng)建同一個字典。第1行代碼我們使用冒號(:)指定字典的類型為Dictionary,聲明一個名為addressDict1的可變字典,并初始化值為["上海" : "黃浦區(qū)","廣東" : "深圳","江蘇" : "南京"]。其中“上海”,“廣東”,“江蘇”表示鍵,“黃浦區(qū)”,“深圳”,"南京"表示值。
第2行我們使用var聲明了可變字典addressDict2,這里沒有指定字典類型。Swift語言會根據(jù)字典的值自動推斷出字典的類型。
第3行使用let聲明了不可變字典addressDict3,在聲明的同時初始化,一旦化被初始化就不可以被修改。