函数作为函数的返回值
要实现返回两个整数之和的功能
方法实现:
typealias InFun = (Int) -> Int
func sumFuntion(a: Int, b: Int) -> Int {
return a + b
}
func returnFunction(a: Int) -> InFun {
return { b in
return a + b
}
}
方法调用:
let sum = returnFunction(a: 1)(1)
print("😊:\(sum)")
let sum1 = sumFuntion(a: 1, b: 1)
print("😄:\(sum1)")
sumFuntion方法是我们普通的实现方式,returnFunction是我们的柯里化实现方式,一个函数的返回值是另一个函数。
柯里化好在哪里?
可避免一个函数中参数过多
网友评论