scala看了有几天了,也试着写了“Hello World”,今天试着练习伴生对象的时候,突然搞不明白scala伴生对象中定义的函数,并不能按我的想法工作。
scala真是个非常灵活的语言,这里还是总结下函数定义的几种情况吧。
1、规规矩矩的写法,带有等号、大括号和返回值类型的形式
def myFunc(var p1 : Int) : Int = {
//something
}
def myFunc(var p1 : Int) : Unit = {
//something
}
2、非unit返回值的情形下,省略返回值,让程序根据代码块,自行判断。注意,这里等号还是要的
def myFunc(var p1 : Int) = {
//something
}
3、unit返回值的情况下,直接省略返回值类型和等号
def myFunc(var p1 : Int) {
//something
// return unit
}
4、函数只有一行的情形下省略返回值和大括号
def max2(x: Int, y: Int) = if (x > y) x else y
def greet() = println("Hello, world!")
也就这么多情况了吧,再遇到新的情况再补充吧,太灵活了,我这死脑子还是玩不转
原文地址:http://blog.csdn.net/tyuttjx/article/details/44084881