类、结构体和枚举能够定义下标,他能够快速简单地访问集合(set,array,dict)的元素,你能够使使用下标来获取和设置集合元素。 你能够定义一个类型的多个下标,经过索引值类型的不一样来进行重载,并且索引值的个数能够是多个。app
语法ui
先看一个实例spa
subscript(index: Int) -> Int { get { // return an appropriate subscript value here } set(newValue) { // perform a suitable setting action here } }
它容许你经过在实例后面的方括号中传入一个或者多个的索引值来对实例进行访问和赋值。语法相似于实例方法和计算型属性的混合。与定义实例方法相似,定义下标使用subscript关键字,显式声明入参(一个或多个)和返回类型。与实例方法不一样的是下标能够设定为读写或只读。这种方式又有点像计算型属性的getter和setter:code
subscript(index: Int) -> Int { // 返回与入参匹配的Int类型的值 }