Ali*_*li 9 parameters function swift
func mapEachElement (inArray arr: [Int], withFunc aFunc: (Int))
Run Code Online (Sandbox Code Playgroud)
为什么会有"inArray然后"arr"...有什么意义?
对于"withFunc和"aFunc"来说,它使代码更复杂,阅读更麻烦,为什么它们甚至被使用?
neo*_*neo 10
inArray是函数调用者在传递参数时应使用的外部名称.arr是函数实现者在实现中用于引用参数的内部名称.您不必提供外部名称.它使其更具可读性.它更像是像Objective-C函数那样使swift函数名和参数可读.
我不会因为有不同的内部和外部名称而被出售.
拥有或没有外部名称对我来说是有道理的.
object.BeepXTimes(6) 它的参数不需要外部名称,因为函数名称暗示了参数的含义.
我认为,基本原理是,有时候函数外部参数的命名是用来对句子中的调用者有意义的:
someView.animateInWithDuration(0.25, withTimingFunction: .easeIn)
Run Code Online (Sandbox Code Playgroud)
外部名称withTimingFunction使函数调用像句子一样读取,但是withTimingFunction产生一个糟糕的内部参数名称.您可能希望您的参数名称正好timingFunction.拥有单独的内部和外部参数名称可以实现这一点.
但对我来说,功能定义中所需的额外复杂性似乎并不值得.好消息是默认是为内部和外部参数名称使用相同的名称创建参数,因此标准语法简单易读.
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |