更改 kotlin 中参数内部变量的值

1Dr*_*90n 2 parameter-passing kotlin

在 Java 中,您可以执行以下操作:

boolean a = true;
if(a = false) {
   //////
}
Run Code Online (Sandbox Code Playgroud)

a 将被设置为 false 并随后用作参数。但在 kotlin 中,我找不到办法做到这一点,除了:

var a = true
a = false
if(a) {

}
Run Code Online (Sandbox Code Playgroud)

还有更好的办法吗?

Swe*_*per 8

您可以以稍微不同的顺序内联执行此操作 - 首先写入要分配的值 ( false),然后使用also作用域函数对其进行分配:

var a = true
if(false.also { a = it }) {

}
Run Code Online (Sandbox Code Playgroud)

但是,我不建议您在 Java 或 Kotlin 中执行此操作,因为这不太可读。将作业写成单独的语句并没有什么不好。