为什么加号需要在行尾,而不是在下一行的开头?

在Kotlin中,如果您想要添加expression式来跨越多行,则需要将加号放在行尾,而不是开头。 例如:

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 

但我还没有find任何文件说明为什么+ somevariable某些变化本身是一个有效的陈述。 它不增加variables,而println(+somevariable)打印与println(somevariable)相同的值。

我相信线路

 val a = 5 + 6 

被解析为两个语句:

  1. 用expression式5值定义一个var
  2. expression式+6 ,带有一元加号。

我在Scala语言中遇到了同样的麻烦。