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

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

我如何修改函数参数:

  1. 可以传递null值

  2. 检查,如果传递null – >然后name = ""其他name = name

该怎么办?

 fun simpleFunction(name: String?) { ... } 

我试过了

 fun simpleFunction(name: String? = null ? "" : name) { ... } 

One Solution collect form web for “Elvis“如果”运算符在Kotlin中作为函数的默认参数”

至少这样做是不可能的,因为默认参数只适用于函数调用站点没有参数的情况。

您可以尝试执行以下操作之一:

  • 在函数体内执行这个检查

     fun simpleFunction(name: String?) { val actualName = name ?: "" ... } 
  • 创建一个接受可为空的值的单独函数重载:

     @JvmName("simpleFunctionNullableName") fun simpleFunction(name: String?) = simpleFunction(name ?: "") fun simpleFunction(name: String) { // name is not-null ... } 
  • 查询Android的联系人在Kotlin收购
  • 默认参数和@JvmOverloads如何在Kotlin上工作?
  • 类型在kotlin中不匹配
  • Kotlin扩展函数与成员函数?
  • Class <?的语法是什么? 在kotlin中扩展class_name>?
  • 如何在回收视图中为自定义ViewHolder实现OnClickListener?
  • 这个引用在kotlin扩展属性的lazy初始值设定中
  • Kotlin和Android数据绑定(BuildTools 2.0.0)
  • 在kotlin中启用和禁用广播
  • Kotlin中无限序列的递归定义
  • 是否有可能在Kotlin的while条件体中初始化一个变量?
  • Kotlin language will be the best programming language for Android.