我很想知道,这在Kotlin中是否可行?如果是的话,它的正确语法是什么?
如何修改函数参数:
可以传递空值
检查,如果传递null - >然后name = ""
其他name = name
怎么办?
fun simpleFunction(name: String?) {
...
}
我试过
fun simpleFunction(name: String? = null ? "" : name) {
...
}
答案 0 :(得分:4)
至少以这种方式是不可能的,因为只有在函数调用站点没有传递参数时才应用默认参数。
您可以尝试执行以下操作之一:
在函数体内执行此检查
fun simpleFunction(name: String?) {
val actualName = name ?: ""
...
}
创建一个单独的函数重载,它接受可以为空的值:
@JvmName("simpleFunctionNullableName")
fun simpleFunction(name: String?) = simpleFunction(name ?: "")
fun simpleFunction(name: String) { // name is not-null
...
}