scala:以下两个是否相同

时间:2018-05-15 21:16:44

标签: scala function-literal

代码1

maps foreach { case (k, v) =>
  // do something
}

代码片2:

maps foreach { 
  case (k, v) => {
    // do something
  }
}

我是scala的新手。只是想知道上面两段代码是否相同?哪个更好?

由于

1 个答案:

答案 0 :(得分:2)

是的,这两段代码是相同的。

但遗憾的是,他们都没有考虑Scala style guide的建议。

  1. 省略点并使用空格is not recommended

  2. Always omit braces in case clauses

  3. case可能出现在同一行或下一行:它取决于// do something的内容。

  4. 因此原始代码应格式化为

    maps.foreach {
      case (k, v) => // do something
    }