Elvis“如果”运算符在Kotlin中作为函数的默认参数
我想知道,这是否可能在Kotlin,如果是这样,它是什么正确的语法?
我如何修改函数参数:
-
可以传递null值
-
检查,如果传递null – >然后
name = ""
其他name = name
该怎么办?
fun simpleFunction(name: String?) { ... }
我试过了
fun simpleFunction(name: String? = null ? "" : name) { ... }
至少这样做是不可能的,因为默认参数只适用于函数调用站点没有参数的情况。
您可以尝试执行以下操作之一:
-
在函数体内执行这个检查
fun simpleFunction(name: String?) { val actualName = name ?: "" ... }
-
创建一个接受可为空的值的单独函数重载:
@JvmName("simpleFunctionNullableName") fun simpleFunction(name: String?) = simpleFunction(name ?: "") fun simpleFunction(name: String) { // name is not-null ... }