标签: swift
是否可以使用相同的参数类型但不同的范围重载函数?我正在尝试为负指数实现Array的下标扩展,以便let a = [3, 1, 4],a[-1] == 4,a[-2] == 1等等.Swift的Array已经有下标函数,所以我不想替换它,但只为负整数创建一个重载函数。这有什么办法吗?感谢。
Array
let a = [3, 1, 4]
a[-1] == 4
a[-2] == 1
答案 0 :(得分:1)
不,不是。函数签名基于参数计数和参数类型。这是不可能的,因为如果传递了一些正数,编译器将不知道该怎么做。它在调用函数之前无法检查它的值。