前言
Scala 编译器通常可以推断出表达式的类型,因此你不必显式地声明它。
The Scala compiler can often infer the type of an expression so you
don’t have to declare it explicitly.
编译器从不推断方法形式参数的类型。 但是,在某些情况下,当函数作为参数传递时,编译器可以推断出匿名函数形式参数的类型。
通常认为,公开可访问的 API 成员应该具有显示类型声明以增加可读性。 因此,我们建议你将代码中向用户公开的任何 API 明确指定类型。
虽然scala的编译器已经很厉害了,但是有些特殊情况还是要去显式的声明!
下面将笔者遇到的特殊情况做一个简单的总结
特殊情况
1.代码块中有多个return的时候,需要显式的声明返回值类型!
2.当用到递归时编译器也无法推出返回值类型!
3.为了增加可读性,官方建议加上返回值类型!