柯里化简介
柯里化指的是从一个多参数函数变成一连串单参数函数的变换
函数演示
func add(input: Int) -> (Int) -> Int {
return { value in
return input + value
}
}
代码实现
let addTwo = add(input: 100)
let output = addTwo(8)
补充
- 这种方式是柯里化的一个说明
- 函数实现的效果就是每次你输入一个数都会帮你默认加8 ,如果后续你想改变只需要改变8这个就可以达到结果,不需要在函数中做操作
额外的演示
-
先声明一个银行卡
class BankCard {
/// 余额
var balance : Double = 0.0
/// 存钱方法
func deposit(amount: Double) {
balance += amount
print("balance = \(balance)")
}
}
-
结果/我们每次存钱都会加上上次的数据
/// 正常的使用
let card = BankCard()
card.deposit(amount: 100)
let deposit : (BankCard)->(Double) ->() = BankCard.deposit
let depositIntoCard = deposit(card)
depositIntoCard(100)
deposit(card)(88)
网友评论