在访问一个数组实例的元素时,可以使用 Array[index] 的形式。在访问一个字典实例的元素时,可以使用 Dictionary[index] 的形式。这种方括号的形式就是 “下标脚本”。

下标脚本就是对一个东西通过索引,快速取值的一种语法,在 Swift 中,我们可以在类(Class)、结构体(structure)和枚举(enumeration)中自己定义下标脚本的语法。

下标脚本允许你通过在实例后面的方括号中传入一个或者多个的索引值来对实例进行访问和赋值。

参数也可以使用可变参数,但使用输入/输出(in-out)参数或和给参数设置默认值都是不允许的。

如果下标脚本中没有写 set 方法,则可以把 get 方法中的内容直接写到下标脚本的方法体中,从而省略外面的 get{}。

set 方法有一个默认的参数 newValue,用来表示传入的新值。

即便不在参数列表中显示的写出 newValue,依旧可以在 set 方法中使用 newValue。

可以在参数列表中写上其它名字以替换默认的参数名 newValue。

和方法不同的是,无论你的下标脚本中有多少个参数,如果没有指定外部参数名,那么在调用的时候参数名称都是隐藏的,如果你觉得表义不够明确,则可以像方法那样加上外部参数名。

下标脚本的用法非常灵活,下标脚本的定义中,参数的数量、类型和返回值都可以是任意的。

下标脚本支持重载,在调用时根据参数的不同而调用不同的下标脚本方法。