Elvis“如果”运算符在Kotlin中作为函数的默认参数

我想知道,这是否可能在Kotlin,如果是这样,它是什么正确的语法?

我如何修改函数参数:

  1. 可以传递null值

  2. 检查,如果传递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 ... }