从 Scala 代码中换出 "var" 并使用 "val" 而不是 "var"
Swap out "var" from Scala code and use "val" instead of "var"
我是 Scala 的新手,不知道如何换出 vars 并使用 vals 进入代码。代码中有很多变量。
下面只是一段代码:
var fa = new JsArray
val ra = Json.obj("key1" -> val1, "key2" -> val2, "key3" -> val3)
fa = fa.:+(ra)
如何使用 val for fa ?
第二种情况:
val a = 10
var dr: String = ""
if (a == 10) {
dr = "true"
}
else {
dr = "false"
}
println("dr: " + dr)
在这里,如果我把 val for "dr" 放在 if/else 则无法在 println() 中访问。
有什么帮助可以避免 var ?
如果您使用 val,则不允许为其分配新值,因此在上面的代码示例中,如果您将第三行切换为
val fa2 = fa.:+(ra)
那么fa可以是一个val。
模式匹配是使 dr
成为 val
的不错选择,尤其是当您需要测试 a
多个不同值时。
val a = 10
val dr = a match {
case 10 => true
case _ => false
}
print(dr)
case 10 => true
这实际上是说 "if a matches 10, then assign true to dr"
case _ = false
这表示 "if none of the above case(s) matched a then assign false to dr"
请注意,dr
将是上面示例中的 Boolean
类型,这比使用 String
表示 true/false 要好得多。如果出于某种原因你真的需要一个字符串,那么你会这样做。
val dr = a match {
case 10 => "true"
case _ => "false"
}
print(dr)
在 Scala 中,if/else
是一个表示 returns 值的表达式。
val dr = if (condition) value1 else value2
模式匹配可能是这种情况下的最佳样式,但如果您想要 if else
,您可以这样写。请注意,在 Scala 中,当 if
语句被评估时,它 returns 的结果与任何其他代码块一样。
val a = 10
val dr = if (a == 10) {
"true"
}
else {
"false"
}
println("dr: " + dr)
我要补充一点,也许与其将 dr
表示为字符串,不如将其键入为 Boolean
会更好,然后您可以简单地将其计算为以下结果条件:
val a = 10
val dr = a == 10
println("dr: " + dr)
我是 Scala 的新手,不知道如何换出 vars 并使用 vals 进入代码。代码中有很多变量。
下面只是一段代码:
var fa = new JsArray
val ra = Json.obj("key1" -> val1, "key2" -> val2, "key3" -> val3)
fa = fa.:+(ra)
如何使用 val for fa ?
第二种情况:
val a = 10
var dr: String = ""
if (a == 10) {
dr = "true"
}
else {
dr = "false"
}
println("dr: " + dr)
在这里,如果我把 val for "dr" 放在 if/else 则无法在 println() 中访问。 有什么帮助可以避免 var ?
如果您使用 val,则不允许为其分配新值,因此在上面的代码示例中,如果您将第三行切换为
val fa2 = fa.:+(ra)
那么fa可以是一个val。
模式匹配是使 dr
成为 val
的不错选择,尤其是当您需要测试 a
多个不同值时。
val a = 10
val dr = a match {
case 10 => true
case _ => false
}
print(dr)
case 10 => true
这实际上是说 "if a matches 10, then assign true to dr"
case _ = false
这表示 "if none of the above case(s) matched a then assign false to dr"
请注意,dr
将是上面示例中的 Boolean
类型,这比使用 String
表示 true/false 要好得多。如果出于某种原因你真的需要一个字符串,那么你会这样做。
val dr = a match {
case 10 => "true"
case _ => "false"
}
print(dr)
在 Scala 中,if/else
是一个表示 returns 值的表达式。
val dr = if (condition) value1 else value2
模式匹配可能是这种情况下的最佳样式,但如果您想要 if else
,您可以这样写。请注意,在 Scala 中,当 if
语句被评估时,它 returns 的结果与任何其他代码块一样。
val a = 10
val dr = if (a == 10) {
"true"
}
else {
"false"
}
println("dr: " + dr)
我要补充一点,也许与其将 dr
表示为字符串,不如将其键入为 Boolean
会更好,然后您可以简单地将其计算为以下结果条件:
val a = 10
val dr = a == 10
println("dr: " + dr)