Swift - 33 - 返回函数类型和函数嵌套

//: Playground - noun: a place where people can play

import UIKit

/*---------------------------返回函数类型-----------------------------*/
// 其实就是将函数当为返回值返回 func tier1MailFee(weight:Int) -> Int { // 第一种邮费计算方式
return 1 * weight
} func tier2MailFee(weight:Int) -> Int { // 第二种邮费计算方式
return 2 * weight
} // 计算最终价格, price为单价, weight为重量
func totalPrice(price:Int, weight:Int) -> Int { // 外部没办法调用chooseMailFeeCalcMethod这个函数
// 通过判断重量, 来选择使用哪种邮费计算方式
func chooseMailFeeCalcMethod(weight:Int) -> (Int) -> Int {
return weight <= 10 ? tier1MailFee : tier2MailFee
} let mailFeeCalc:(Int) -> Int = chooseMailFeeCalcMethod(weight)
return mailFeeCalc(weight) + price * weight
} totalPrice(5, weight: 10)

  

上一篇:Hadoop概念学习系列之Hadoop、Spark学习路线(很值得推荐)(十八)


下一篇:一个毕生难忘的BUG