相关疑难解决方法(0)

Kotlin 求和换行 — 结果取决于运算符的放置

今天我在 Kotlin 中遇到了一个我无法解释的奇怪行为。给出以下代码:

data class Data(
    val v1: Int,
    val v2: Int,
    val v3: Int)

fun main() {

    val d = Data(1,1,1)

    val sum1 = d.v1 + d.v2 + d.v3
    println("Oneliner: $sum1") // prints: Oneliner: 3

    val sum2 = d.v1 
        + d.v2 
        + d.v3
    println("OperatorFirst: $sum2") // prints: OperatorFirst: 1

    val sum3 = d.v1 + 
        d.v2 + 
        d.v3
    println("OperatorLast: $sum3") // prints: OperatorLast: 3

}
Run Code Online (Sandbox Code Playgroud)

(可测试: https: //pl.kotl.in/gMjif_6FO

现在似乎取决于您将+运算符放置在哪里才能获得 3 的正确结果。但是,IDE 没有显示第二个版本可能有任何问题,而且我找不到任何关于为什么这种情况会出现这种情况的信息不同。

关于软件工程空间的一个问题还说,一些编码指南建议将运算符放在行的开头:https://softwareengineering.stackexchange.com/questions/93670/line-break-before-after-operator

另外,我能找到的对此行为的唯一解释是+行开头的 …

syntax operators kotlin

7
推荐指数
1
解决办法
776
查看次数

标签 统计

kotlin ×1

operators ×1

syntax ×1