假设我们有一个含有多个参数的函数,用于构建一个人的基本信息:
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
时间: 2024-10-23 10:59:37