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 ... } 
  • Kotlin - @javadoc相当于
  • 列表回调参数的Kotlin通配符捕获
  • rx kotlin订阅不工作,没有收到物品
  • 广播接收器onReceive()不被调用
  • 正则表达式 - 匹配不是字符串的字
  • Kotlin卡普失败 - 只看到Android API级别1的来源
  • 我应该如何在Spek中设置可变测试夹具?
  • 如何在eclipse maven web项目中编译kotlin
  • 在Android中使用kotlin进行自定义视图的类DSL的OnClick监听器
  • 使用kotlin lambda回调的unit testing场景
  • Intellij Idea插件:什么方法调用来解决Kotlin参考
  • Kotlin language will be the best programming language for Android.