Swift进阶知识点笔记-柯里化(Currying)

Swift现在显然已成为苹果爸爸的亲儿子,了解学习Swift已是大势所趋。虽然当前Swift的ABI、编译速度、包的大小还有一点点的失望,但是还是值得期待并且学习的。

建议阅读时间:10mins


  • 柯基化(Currying)

    其实柯基化就是函数式编程的重要体现。简单明了的说其实就是把多个参数方法进行变形重而形成一个模板,使其更灵活的使用。

    例子:

     //一个加法的函数
    func Add(_ oneNumber:Int ,_ twoNumber:Int)->Int{
        return oneNumber + twoNumber
    }
    
    //柯基化变形
    func AddWithCyrrying(_ oneNumber:Int)->(Int)->Int{
        return {
            twoNumber in
            return oneNumber + twoNumber
        }
    }
    //10 + 8
    Add(10, 8)
    //  柯基化
    let add10 = AddWithCyrrying(10)  // retun  一个函数:(int)->int
    let result = add10(8)  //  return 10 + 8
    
其实看到这里大致应该明白柯基化,但是具体什么场景下使用还得有点模糊,如同上面的一个例子