根據(jù)使用場(chǎng)景不同下標(biāo)腳本也具有不同的含義。通常下標(biāo)腳本是用來訪問集合(collection),列表(list)或序列(sequence)中元素的快捷方式。你可以在你自己特定的類或結(jié)構(gòu)體中自由的實(shí)現(xiàn)下標(biāo)腳本來提供合適的功能。
例如,Swift 的字典(Dictionary)實(shí)現(xiàn)了通過下標(biāo)腳本來對(duì)其實(shí)例中存放的值進(jìn)行存取操作。在下標(biāo)腳本中使用和字典索引相同類型的值,并且把一個(gè)字典值類型的值賦值給這個(gè)下標(biāo)腳本來為字典設(shè)值:
var numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
numberOfLegs["bird"] = 2
上例定義一個(gè)名為numberOfLegs
的變量并用一個(gè)字典字面量初始化出了包含三對(duì)鍵值的字典實(shí)例。numberOfLegs
的字典存放值類型推斷為Dictionary<String, Int>
。字典實(shí)例創(chuàng)建完成之后通過下標(biāo)腳本的方式將整型值2
賦值到字典實(shí)例的索引為bird
的位置中。
更多關(guān)于字典(Dictionary)下標(biāo)腳本的信息請(qǐng)參考讀取和修改字典
注意:
Swift 中字典的附屬腳本實(shí)現(xiàn)中,在get
部分返回值是Int?
,上例中的numberOfLegs
字典通過附屬腳本返回的是一個(gè)Int?
或者說“可選的int”,不是每個(gè)字典的索引都能得到一個(gè)整型值,對(duì)于沒有設(shè)過值的索引的訪問返回的結(jié)果就是nil
;同樣想要從字典實(shí)例中刪除某個(gè)索引下的值也只需要給這個(gè)索引賦值為nil
即可。