美文网首页Swift编程swift
Swift | 柯里化实现一个函数指定加数

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

作者: 字符管理师 | 来源:发表于2019-08-04 23:32 被阅读1次

    柯里化简介

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

    函数演示

    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 | 柯里化实现一个函数指定加数

        本文链接:https://www.haomeiwen.com/subject/ouvudctx.html