swift中的下标

作者: hello_bear | 来源:发表于2017-12-18 13:52 被阅读196次

类、结构体和枚举可以定义下标,它可以作为访问集合、列表或序列成员元素的快捷方式。你可使用下标通过索 引值来设置或检索值而不需要为设置和检索分别使用实例方法。比如说,用 someArray[index] 来访问 Array 实例 中的元素以及用 someDictionary[key] 访问 Dictionary 实例中的元素。

你可以为一个类型定义多个下标,并且下标会基于传入的索引值的类型选择合适的下标重载使用。下标没有限制 单个维度,你可以使用多个输入形参来定义下标以满足自定义类型的需求。

一、下标的语法

使用关键字 **subscript **来定义下标,并且指定一个或多个输入形式参数和返回类型,与实例方法一样。
与实例方法不同的是,下标可以是读写也可以是只读的。这个行为通过与计算属性中相同的 getter和setter传达:

1  subscript(index:Int) -> Int {
2      get{
3          //return an appropriate subscript value here
4      }
5      set(newValue){
6          //perform a suitable setting action here
7      }
8  }

下面是一个只读下标实现的栗子,它定义了一个 TimeTable 结构体来表示整数的n倍表:

1  struct TimesTable {
2      let multiplier: Int
3      subscript(index: Int) -> Int {
4          return multiplier * index
5      } 
6  }
7 let threeTimesTable = TimesTable(multiplier: 3)
8 print("six times three is \(threeTimesTable[6])")
9 // prints "six times three is 18"

在这个栗子中,创建了一个 TimeTable 的新实例来表示三倍表。它表示通过给结构体的 initializer 转入值 3 来作为 用于实例的 multiplier 形式参数。

二、下标用法

“下标”确切的意思取决于它使用的上下文。通常下标是用来访问集合、列表或序列中元素的快捷方式。你可以在 你自己特定的类或结构体中自由实现下标来提供合适的功能。

例如,Swift 的 Dictionary 类型实现了下标来对 Dictionary 实例中存放的值进行设置和读取操作。你可以在下标的 方括号中通过提供字典键类型相同的键来设置字典里的值,并且把一个与字典值类型相同的值赋给这个下标:

1 var numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
2 numberOfLegs["bird"] = 2

三、下标选项

下标可以接收任意数量的输入形式参数,并且这些输入形式参数可以是任意类型。下标也可以返回任意类型

下标可以使用变量形式参数和可变形式参数,但是不能使用输入输出形式参数或提供默认形式参数值。

类或结构体可以根据自身需要提供多个下标实现,合适被使用的下标会基于值类型或者使用下标时下标方括号里 包含的值来推断。这个对多下标的定义就是所谓的下标重载。

相关文章

  • swift中的下标

    类、结构体和枚举可以定义下标,它可以作为访问集合、列表或序列成员元素的快捷方式。你可使用下标通过索 引值来设置或检...

  • Swift 5.x - 继承(中文文档)

    引言 继续学习Swift文档,从上一章节:下标,我们学习了Swift下标相关的内容,如下标语法、下标用法、下标选项...

  • Swift中的下标(subscript)

    下标(subscript) 1、使用subscript可以给任意类型(枚举、结构体、类)增加下标功能,有些地方也翻...

  • Swift:下标

    中文文档 一、下标语法 下标允许你通过在实例名称后面的方括号中传入一个或者多个索引值来对实例进行存取。语法类似于实...

  • Swift - 下标

    下标可以定义在类、结构体和枚举中,是访问集合,列表或序列中元素的快捷方式。可以使用下标的索引,设置和获取值,而不需...

  • Swift 下标

    让对象和结构体如同数组和字典一样使用[ ]的形式进行对象访问

  • Swift 下标

    类、结构体、枚举可以定义下标 console log 如下 下标实例 console log 如下

  • Swift - 下标

    下标 下标可以定义在类、结构体和枚举中,是访问集合、列表或序列中元素的快捷方式。可以使用下标的索引,设置和获取值,...

  • 窥探Swift之数组安全索引与数组切片

    在Swift中的数组和字典中下标是非常常见的,数组可以通过索引下标进行元素的查询,字典可以通过键下标来获取相应的值...

  • Subscripts(下标)

    //离上次学习swift过了好久,这才刚开始学习swift呀,坚持。 //下标//“下标可以定义在类、结构体和枚举...

网友评论

    本文标题:swift中的下标

    本文链接:https://www.haomeiwen.com/subject/xhopwxtx.html