課程
/移動開發
/iOS
/玩兒轉Swift
這個函數是計算郵費,然后通過重量來選擇郵費規則,計算完應該就是一個整形(通過tier1或tier2返回的),怎么chooseMailFeeCalcMethod這個函數需要返回一個函數類型?
2015-01-03
源自:玩兒轉Swift 7-8
正在回答
當然是可以的。我們的例子是展示函數類型的使用,所以例子相對簡單。但是在一些情況下,返回函數將是更好的設計。這涉及一些函數式編程的內容。如果大家有興趣,我們可以策劃一個相關課程:)
涼宮的憂郁 提問者
func tier1MailFee( weight:Int ) -> Int {
? ? return 1*weight
}
func tier2MailFee( weight:Int) -> Int {
? ? return 2*weight
func chooseMailFeeCalcMethod(weight:Int) ->Int {
? ? return weight <= 10 ? tier1MailFee(weight) : tier2MailFee(weight)
func totalPrice( price:Int , weight:Int ) -> Int {
? ? let mailFeeCalc:Int = chooseMailFeeCalcMethod(weight)
? ? return mailFeeCalc + price*weight
老師這么改完以后和原來的那個相比有什么弊端或者缺陷?
返回的是tier1或tier2的這個規則的方法而不是計算完的數是嗎?
舉報
這套教程比任何的Swift中文教程深入,并且演示示例更豐富
1 回答定義一個函數類型的變量,并賦值為函數。系統就報錯
1 回答func tryToChangeValue( var x:Int){x++}為什么沒有返回值
1 回答接受返回值那里為什么用let 不用var?
1 回答返回怎么和教程不一樣?
2 回答rangeOfString不返回任何結果
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-01-03
當然是可以的。我們的例子是展示函數類型的使用,所以例子相對簡單。但是在一些情況下,返回函數將是更好的設計。這涉及一些函數式編程的內容。如果大家有興趣,我們可以策劃一個相關課程:)
2015-01-03
func tier1MailFee( weight:Int ) -> Int {
? ? return 1*weight
}
func tier2MailFee( weight:Int) -> Int {
? ? return 2*weight
}
func chooseMailFeeCalcMethod(weight:Int) ->Int {
? ? return weight <= 10 ? tier1MailFee(weight) : tier2MailFee(weight)
}
func totalPrice( price:Int , weight:Int ) -> Int {
? ? let mailFeeCalc:Int = chooseMailFeeCalcMethod(weight)
? ? return mailFeeCalc + price*weight
}
老師這么改完以后和原來的那個相比有什么弊端或者缺陷?
2015-01-03
返回的是tier1或tier2的這個規則的方法而不是計算完的數是嗎?