在 kotlin 中更改参数内部变量的值
Posted
技术标签:
【中文标题】在 kotlin 中更改参数内部变量的值【英文标题】:Changing value of variable inside argument in kotlin 【发布时间】:2022-01-18 17:43:00 【问题描述】:在 Java 中,您可以执行以下操作:
boolean a = true;
if(a = false)
//////
并且 a 将被设置为 false 并在此之后用作参数。但是在 kotlin 中,我找不到这样做的方法,除了:
var a = true
a = false
if(a)
有没有更好的办法?
【问题讨论】:
IMO 的最佳方式就是将分配与if
分开,就像您所做的那样。很清楚,我相信 Kotlin 的设计目的是为了防止将赋值用作表达式。
您为什么要这样做? if
的主体永远不会被执行。无论如何,这段代码非常令人困惑。 Kotlin 明确禁止在其他任何地方使用分配。
【参考方案1】:
您可以以稍微不同的顺序内联执行此操作 - 首先写入要分配的值 (false
),然后使用 also
范围函数来分配它:
var a = true
if(false.also a = it )
但是,我不建议您在 Java 或 Kotlin 中执行此操作,因为这不是很可读。将作业写成单独的语句并没有什么不好。
【讨论】:
以上是关于在 kotlin 中更改参数内部变量的值的主要内容,如果未能解决你的问题,请参考以下文章