如何在scalaspark中更新if语句中的var?

41ik7eoe  于 2021-07-14  发布在  Spark
关注(0)|答案(1)|浏览(453)

我有一个跟踪变量,用来表示我们是否在嵌套的if-else语句中到达了某个分支。下面是一个简化的例子

var varChanged = false
if(true) {
  var varChanged = true
}

varChanged //still returns false

我想更新 varChanged 在if语句中。我该怎么做呢?我不能用if语句来表达 var varChanged = if(..).. 因为我用它来表达另一个val和 varChanged 只是我需要的一个跟踪变量。

wz3gfoph

wz3gfoph1#

拆下内盖 var 关键字

var varChanged = false
if(true) {
  varChanged = true
}

你在跟踪外星 varChanged 在内部作用域中再次声明。
你真的应该避免使用 var 尽可能的多。

相关问题