内容改变后Var重新计算

Иль*_*ков 4 kotlin

我刚刚开始学习 Kotlin,但无法得到一件事:

我有一个基于其他一些变量(例如“A”和“B”)的变量。在更改 var“A”或“B”后,有没有一种简单的方法可以重新计算结果变量?据我了解,我可以再次重复“结果”的代码,但是有更简单的方法吗?我认为在某些情况下代码可能会很长......

示例如下:

var valueA = 9
var valueB = 10
var result = valueA*valueB
println(result)

valueA = 15
Run Code Online (Sandbox Code Playgroud)

“A”被改变,但如果我现在写“println(result)”,var“result”将不会被重新计算并且将保持= 90

result = valueA*valueB
println(result)
Run Code Online (Sandbox Code Playgroud)

仅当我再次为“结果”编写相同的代码后,才会重新计算输出

Ivo*_*ers 5

这就是变量的工作原理。当您将某些东西存储在其中时,这将是您当时将其放入的方式。如果您想要动态结果,请改用函数:

fun result() = valueA * valueB
Run Code Online (Sandbox Code Playgroud)

然后打印像

println(result())
Run Code Online (Sandbox Code Playgroud)

如果它们是类变量(属性),您实际上可以使用变量,但您需要使用 getter 来定义它,例如:

val result get() = valueA * valueB
Run Code Online (Sandbox Code Playgroud)