scala - def with with without = =

时间:2013-02-14 23:52:54

标签: scala function

以下两者之间是否存在差异..

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

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

它们似乎是一样的。
有两个理由支持吗?

1 个答案:

答案 0 :(得分:5)

def foo() {}

等同于(并强制执行)

def foo(): Unit = {}

,而

def foo() = {}

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

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