【问题标题】:Overload function with parameters of same type but different ranges具有相同类型但不同范围的参数的重载函数
【发布时间】:2015-04-29 03:39:54
【问题描述】:

是否可以重载具有相同参数类型但范围不同的函数?我正在尝试为负索引实现Array 的下标扩展,这样如果let a = [3, 1, 4]a[-1] == 4a[-2] == 1 等。Swift 的Array 已经有下标功能,所以我不想要替换它,但只为负整数创建一个重载函数。这是这样做的任何方式吗?谢谢。

【问题讨论】:

标签: swift


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    相关资源
    最近更新 更多