Kotlin - 在数据类的去除中"不关心"

Fil*_*erg 3 wildcard syntactic-sugar kotlin

是否有可能在Kotlin中标记"不关心"?我无法找到合适的语法,Haskell和Python使用_符号,但这在Kotlin中不起作用.

例,

data class DesugarExample(val foo: Int, val bar: Int, val baz: Int)

fun desugarIt() {
  val (useFoo, dontCare, useBaz) = DesugarExample(1, 2, 3)
}
Run Code Online (Sandbox Code Playgroud)

Tod*_*odd 5

不幸的是,这目前还不可能,但根据Dmitry Jemerov的说法,在这个用例中使用下划线计划用于Kotlin 1.1.

更新:上面的示例确实在Kotlin 1.1中使用下划线替换其中一个val来表示"不关心".例:

fun desugarIt() {
    val (useFoo, dontCare, _) = DesugarExample(1, 2, 3)
}
Run Code Online (Sandbox Code Playgroud)

  • 该功能已实施,将包含在1.1-M3中. (6认同)