如何在预期两个参数时只将一个参数传递给函数?

NNi*_*ikN 4 parameters kotlin

fun multipleParams(id: Int = 1 , name: String) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

我在课堂上创建了上面的方法.以下方法调用正常工作:

multipleParams(1,"Rose")
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式使用它,有时我只通过name,有时两者都通过?

multipleParams(1,"Rose")
multipleParams("Rose")
Run Code Online (Sandbox Code Playgroud)

Li3*_*357 6

你几乎就在那里 - 你只需要使用 命名参数,因为你已经将它们命名为:

multipleParams(name = "Rose")
Run Code Online (Sandbox Code Playgroud)

这将使用默认值1for,id因为它未传递并"Rose"用于name.你不能简单地在这里使用位置参数,因为你没有提供第一个参数,所以使用你给出的名字.