[原创]Scala学习:函数的定义
Posted jason_zhangz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[原创]Scala学习:函数的定义相关的知识,希望对你有一定的参考价值。
方式一:标准的定义函数
def 函数名(参数1: 参数类型,参数2: 参数类型): 返回值类型 = {
函数体
}
例子
def max(x: Int,y: Int): Int ={
if(x > y) x
else y
}
注意:参数列表中必须标注好参数类型,因为scala编译器无法推断参数的类型
方式二:在一般的情况下可以省略,函数返回值的类型
def 函数名(参数1: 参数类型,参数2: 参数类型) = {
函数体
}
def max(x: Int,y: Int)={
if(x > y) x
else y
}
或者 将大括号也可以省略
def max(x: Int,y: Int) = if(x > y) x else y
注意:在函数递归的时候,必须指明返回值的类型
方式三:既不带参数也不带返回值有用结果的定义函数
scala> def greet() = println("hello world")
greet: ()Unit
Unit是函数greet的记过类型,指的是函数没有有效的返回值,scala中的Unit类型比较于java中的viod类型,而实际上java中返回void的方法都会被映射为返回Unit的scala方法
结果类型为Unit的方法,并非是为了得到返回值,而是为了其他的运行效果(side effect)
以上是关于[原创]Scala学习:函数的定义的主要内容,如果未能解决你的问题,请参考以下文章