下标使用方法的额外优势是什么

What is additional advantage of subscript use over method

我正在研究 Swift 中的下标,发现通过使用方法,我们可以访问 class、枚举或结构的成员元素。

那么下标还有什么优势呢?

下标比我能想到的函数有3个优点:

  1. 熟悉。许多 Swift 程序员都熟悉使用 [] 访问其他语言中的数组元素,例如 Python、C、C++ 和 Java。

  2. 简洁。如果要使用函数访问集合元素,则该函数需要一个名称。即使像 at(Smalltalk 使用的)这样的短名称也需要比 [] 更多的字符。比较 array[i]array.at(i).

  3. 灵活性。下标运算符可以允许读取和写入。您甚至可以在可变二元运算符的左侧使用下标运算符,如下所示:

    array[i] += 1
    

    如果没有下标运算符,您需要显式编写两个单独的函数调用,如下所示:

    array.at(i, put: array.at(i) + 1)
    

    或者可以使用一个带有突变闭包的函数,像这样:

    array.at(i, update: { [=12=] + 1 })