我是 swift 的新手,尤其是闭包,当我练习 sum 函数时,我可以添加 2 个值,但是当我尝试为 3 个或更多值做时,我得到错误
例如: 添加 2 个有效的值
var calculate: (Double,Double)->Double
calculate = {$0+$1}
print(calculate(4,3))
但是这个会报错
var calculate: (Int,Int,Int)->Int
calculate = {$0+$1+$2}
print(calculate(5,8,90))
有什么原因我们不能执行这个..你能给我建议使用闭包的方法吗
谢谢
最佳答案
在这种情况下,编译器无法正确重现结果类型。你应该帮助它一点:
var calculate: (Int,Int,Int) -> Int
calculate = { Int($0+$1+$2) }
print(calculate(5,8,90)) // "103\n"
关于Swift 闭包增加了超过 2 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44496524/