【Scala·基础·笔记】方法定义中,省略“=”要留意

训练营录播课《Scala 基础(上)》中,提到“方法在缺省返回类型时,= 等号是可以省略的”。

但实验表明:是否省略“=”是有区别的
 
1,有“=”
object WeekOne {
def f() = { //没有省略“=”
1 + 2
}

def main(args : Array[String]) {
println( f() )
println( f().getClass() )

}
}
//执行结果
3
int

2,缺省“=”
object WeekOne {
def f() { // 省略“=”

1 + 2
}

def main(args : Array[String]) {
println( f() )
println( f().getClass() )

}
}
//执行结果
()
void

 

yanglei

赞同来自: 曹志翔

"="代表方法有返回值。 在方法实现中如果最后一行语句有实际的计算的话,那么方法不能省略"=",否则造成无法正常返回。   这点在你的另外一个问题中已经回答了,请听清陈超老师讲的意思。    

要回复问题请先登录注册