这是我的代码,我不知道为什么它不起作用。错误的标题就是标题。我正在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
只是一个双数,而不是数组或序列。