下标脚本 可以定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问集合(collection),列表(list)或序列(sequence的快捷方式,使用下标脚本的索引设置和获取值,不需要再调用实例的特定的赋值和访问方法。举例来说,用下标脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index]
,访问字典(Dictionary)实例中的元素可以这样写 someDictionary[key]
。
与定义实例方法类似,定义下标脚本使用subscript
关键字,显式声明入参(一个或多个)和返回类型。
struct TimesTable { let multiplier: Int subscript(index: Int) -> Int { return multiplier * index } } let threeTimesTable = TimesTable(multiplier: 3) print("3的6倍是(threeTimesTable[6])") // 输出 "3的6倍是18"