在Kotlin中,如果你想要一个加法表达式跨越多行,你需要在行的末尾添加加号,而不是在开头。例如:
var a = 1
var b = 2
var c = 3
var d = a +
b +
c
println(d) // prints "6"
var e = a
+ b
+ c
println(e) // prints "1"
据我所知,这是因为Kotlin将第二个例子解释为三个单独的陈述,如下所示:
var e = a
+ b
+ c
但我没有找到任何文件说明为什么+ somevariable
本身就是一个有效的陈述。它不会增加变量,println(+somevariable)
会打印与println(somevariable)
相同的值。
答案 0 :(得分:2)
我相信行
val a = 5
+ 6
被解析为两个语句:
var
,其值为5
+6
,带有一元加号。我在Scala语言中遇到了同样的问题。