【发布时间】:2017-02-05 15:02:21
【问题描述】:
在 Kotlin 中,有两种方法可以表示可选参数,或者通过指定默认参数值:
fun foo(parameter: Any, option: Boolean = false) { ... }
或通过引入重载:
fun foo(parameter: Any) = foo(parameter, false)
fun foo(parameter: Any, option: Boolean) { ... }
在哪些情况下首选哪种方式?
这种功能的消费者有什么不同?
【问题讨论】:
-
永远不要为此使用重载,就是这样。
@JVMOverloads可能有助于从 Java 中使用它们
标签: overloading kotlin optional-parameters