这是我的代码,我不知道为什么它不起作用。错误的标题就是标题。我正在Xcode中使用Swift,并且该代码应该创建一个具有尽可能多的参数的函数,就像我告诉它具有/无限的一样。

func addMyAccountBalances(balances : Double) -> Double {
    var result : Double = 0

    for balance in balances {
        result += balance
    }
}

最佳答案



您可能想要的是一个带有可变数量参数的函数,
通过类型后面的...表示:

func addMyAccountBalances(balances : Double ...) -> Double {
    var result : Double = 0
    for balance in balances {
        result += balance
    }
    return result
}

print(addMyAccountBalances(1.0, 2.0, 3.0))
print(addMyAccountBalances(4.5, 5.6))

在函数内部,balances具有数组类型[Double],因此
您可以遍历其元素。

注意,可以使用reduce()更加紧凑地编写它:
func addMyAccountBalances(balances : Double ...) -> Double {
    let result = balances.reduce(0.0, combine: +)
    return result
}

您的代码无法编译,因为balances : Double只是
一个双数,而不是数组或序列。

09-06 07:11