本节书摘来自异步社区《Swift开发实战》一书中的第16章,第16.2节下标脚本语法,作者 李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看
16.2 下标脚本用法
在Swift语言中,根据使用场景的不同,下标脚本也具有不同的含义。通常下标脚本是用来访问集合(collection)、列表(list)或序列(sequence)中元素的快捷方式。开发者可以在自己特定的类或结构体中,灵活地实现下标脚本来提供合适的功能。
例如,Swift 的字典(Dictionary)实现了通过下标脚本来对其实例中存放的值进行存取操作。在下标脚本中使用和字典索引相同类型的值,并且把一个字典值类型的值赋值给这个下标脚本来为字典设值。参见如下所示的演示代码。
var numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
numberOfLegs["bird"] = 2
通过上述代码定义了一个名为numberOfLegs的变量,并且用一个字典字面量初始化出了包含三对键值的字典实例,numberOfLegs的字典存放值类型被推断为Dictionary。当字典实例创建完成之后,通过下标脚本的方式将整型值2赋值到字典实例的索引为bird的位置中。
在Swift程序中实现字典的附属脚本时,在get部分返回值是Int?,上例中的numberOfLegs字典通过附属脚本返回的是一个Int?,或者说“可选的int”。不是每个字典的索引都能得到一个整型值,对于没有设过值的索引的访问返回的结果就是nil。同样道理,想要从字典实例中删除某个索引下的值,只需要给这个索引赋值为nil即可。