Android Kotlin 函数具有多个可选参数,仅在特定位置使用参数调用函数

Kra*_*tos 1 android kotlin

所以我有这个函数,它有 8 个可选参数(是的,我知道有这么多参数是不好的做法,这是遗留代码:D)。

事情是这样的:

private fun function(
    rightImage: Int = 0,
    background: Int = R.drawable.account_item_bg,
    leftImage: Int = 0,
    translation: String? = null,
    name: String? = null,
    age: String? = null,
    length: String? = null,
    duration: String? = null)
Run Code Online (Sandbox Code Playgroud)

现在在我的代码中,我想调用这个函数并只给它最后一个参数(持续时间)。我不关心其他人。

但现在要称呼它,我会这样做:

function(0, R.drawable.account_item_bg, 0, null, null, null, null, 1800)
Run Code Online (Sandbox Code Playgroud)

在编写这段代码时,我只是想,如果能够选择仅在特定位置发送参数(fe 参数 6,或最后一个参数),而不是重复所有可选参数,那会很酷。

有没有这样的选择,有人知道吗?谢谢

Anh*_*ran 5

这就是您要找的。

https://kotlinlang.org/docs/functions.html#named-arguments

示例代码:

function(duration = "1800")
Run Code Online (Sandbox Code Playgroud)