【发布时间】:2019-03-15 15:13:29
【问题描述】:
我在 Swift 中浏览下标,发现通过使用方法我们可以访问类、枚举或结构的成员元素。
那么下标有什么额外的好处呢?
【问题讨论】:
-
请用清晰的代码示例更新您的问题,展示您所询问的选项。
我在 Swift 中浏览下标,发现通过使用方法我们可以访问类、枚举或结构的成员元素。
那么下标有什么额外的好处呢?
【问题讨论】:
下标比我能想到的函数有三个优点:
熟悉。许多 Swift 程序员都熟悉使用[] 来访问 Python、C、C++ 和 Java 等其他语言中的数组元素。
简洁。如果要使用函数访问集合元素,函数需要一个名称。即使像at(Smalltalk 使用)这样的短名称也需要比[] 更多的字符。比较 array[i] 和 array.at(i)。
灵活性。下标运算符可以允许读取和写入。您甚至可以在变异二元运算符的左侧使用下标运算符,如下所示:
array[i] += 1
如果没有下标运算符,您需要显式编写两个单独的函数调用,如下所示:
array.at(i, put: array.at(i) + 1)
或者也许使用一个接受突变闭包的函数,像这样:
array.at(i, update: { $0 + 1 })
【讨论】: