1

下面这两个有区别吗。。

scala> def foo() = {}
foo: ()Unit

scala> def foo() {}
foo: ()Unit

他们似乎是一样的。
两者都支持有什么原因吗?

4

1 回答 1

6
def foo() {}

等同于(并强制执行)

def foo(): Unit = {}

尽管

def foo() = {}

将应用类型推断来确定方法体的结果类型。

因此,对于前两个选项,Unit是唯一允许的返回类型,而在第三个选项中,返回类型取决于实现。

于 2013-02-15T00:03:36.730 回答