具有相同类型但不同范围的参数的过载功能

时间:2015-04-28 19:08:15

标签: swift

是否可以使用相同的参数类型但不同的范围重载函数?我正在尝试为负指数实现Array的下标扩展,以便let a = [3, 1, 4]a[-1] == 4a[-2] == 1等等.Swift的Array已经有下标函数,所以我不想替换它,但只为负整数创建一个重载函数。这有什么办法吗?感谢。

1 个答案:

答案 0 :(得分:1)

不,不是。函数签名基于参数计数和参数类型。这是不可能的,因为如果传递了一些正数,编译器将不知道该怎么做。它在调用函数之前无法检查它的值。