如何将Swift中的多参函数转化成Curring函数

24 篇文章 0 订阅
21 篇文章 0 订阅

假设我们有一个含有多个参数的函数,用于构建一个人的基本信息:

func buildInfoWithName(name: String,#age: Int,#gender: String,#address: String,#phone: String) -> String {
    
    return "My name is " + name
        +  ",I'm a " + gender
        +  ",I live in " + address
        +  ",my phone number is " + phone
}

let mike = buildInfoWithName("Mike",age: 20,gender: "boy",address: "Tokyo Japan",phone: "12345678")


如果我们不想一次性提供所有的参数,可以把它改造成Curring函数:

func buildInfoWithName(name: String)(age: Int)(gender: String)(address: String)(phone: String) -> String {
    
    return "My name is " + name
    +  ",I'm a " + gender
    +  ",I live in " + address
    +  ",my phone number is " + phone
}

let benson = buildInfoWithName("Benson")(age: 24)(gender: "boy")(address: "Chengdu Sichuan")(phone: "87654321")


我们把原始的函数已经分解成了接受单一参数的函数序列。


参考链接: http://justtesting.org/post/94325843216/what-is-currying-in-swift

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值