我是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))
我们有什么理由不能执行此操作..你能否建议我使用闭包
来做到这一点由于
答案 0 :(得分:1)
在这种情况下,编译器不能正确地再现结果类型。你应该帮助一点:
var calculate: (Int,Int,Int) -> Int
calculate = { Int($0+$1+$2) }
print(calculate(5,8,90)) // "103\n"
答案 1 :(得分:0)
我改变你的代码。
var calculate: (Int,Int,Int)->Int
calculate = {($0+$1)+$2}
print(calculate(5,8,90))
- >你需要给出圆括号。