Swift | 柯里化实现一个函数指定加数

柯里化简介

柯里化指的是从一个多参数函数变成一连串单参数函数的变换

函数演示

func add(input: Int) -> (Int) -> Int {
    return { value in
        return input + value
    }
}

代码实现

let addTwo = add(input: 100)
let output = addTwo(8)

补充

  1. 这种方式是柯里化的一个说明
  2. 函数实现的效果就是每次你输入一个数都会帮你默认加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)

你可能感兴趣的:(Swift | 柯里化实现一个函数指定加数)