在Kotlin中破坏对象时未使用的参数

当解构一个对象时,是否有可能只声明我需要的变量?

在这个例子中,我只使用b和我的IDE给我一个警告, a是未使用的。

 fun run() { fun makePair() = Pair("Apple", "Orange") val (a, b) = makePair() println("b = $b") } 

自Kotlin 1.1以来,您可以使用下划线来标​​记一个破坏声明中未使用的组件:

 fun run() { fun makePair() = Pair("Apple", "Orange") val (_, b) = makePair() println("b = $b") } 

你可以使用:

 val b = makePair().component2() 

如果你只对前几个参数感兴趣,你可以省略其余的参数。 在你的代码中这是不可能的,但是如果你改变了参数的顺序,你可以这样写:

 fun run() { fun makePair() = Pair("Orange", "Apple") val (b) = makePair() println("b = $b") }