Tag: 超载

替代function重载

下面的代码 fun getValue(): Int { return 42 } fun getValue(): String { return “Foo” } 给出以下错误: 有冲突的重载 :本地最终乐趣getValue():在本地最终乐趣中定义的字符串getValue():在main中定义的Int。 有没有办法避免重命名的function之一?

默认参数vs重载,何时使用哪个

在Kotlin中,有两种方法可以通过指定默认参数值来表示可选参数: fun foo(parameter: Any, option: Boolean = false) { … } 或通过引入过载: fun foo(parameter: Any) = foo(parameter, false) fun foo(parameter: Any, option: Boolean) { … } 在哪种情况下首选哪种方式? 这种function的消费者有什么区别?