Scala学习四: 函数

来源:互联网 发布:好看的韩国迷你网络剧 编辑:程序博客网 时间:2024/05/17 23:32

Scala学习四: 函数


Scala函数

Scala中定义函数只需要给出:

    def 函数名(参数):返回值类型(可省略)= (可省略) {        函数体    }

函数返回值类型:Scala编译器可以通过 “=右边” 的表达式类型推断出返回类型.

def funA(a:Int) = {    if (a > 0) {        1     } else {        -1    }}// 注意递推函数必须声名返回值类型.def fac(n:Int):Int = {    if ( n < 0 ) {        1     } else {        n * fac(n-1)    }}

Scala中的函数可以 省略返回语句 return,语句块最后一语句就是函数的返回值。
如果函数声名后 没有等号“=”,则函数返回值一定是Unit。

def funUnit(ars: Int) {    val value = if (ars > 0) {        1    } else {        -1    }    println("value = " + value)}

函数的参数:

Scala 中的函数可以指定默认值,或者默认参数
正确的用法:

def defaultVal(value:Int, left:String = "[", right:String = "]"):Unit = {    println(left + value + right)}

错误的用法:

def defaultVal(value:Int, left = "[", right = "]"):Unit = {    println(left + value + right)}
  • Scala中 默认值参数必须得有类型声名

  • 调用方式: defaultVal(“Hello”,”{{“,”}}”)

  • 如果参数不够:defaultVal(“Hello”,”{{“)),则 默认参数会从后往前逐个应用进来,也就是说,从左向右依次 替换掉默认值.

  • Scala 调用函数时,如果指名了 调用的参数名称,调用函数时不用 按照参数 声名时顺序,即:
    defaultVal("Hello",right=">>>")

原创粉丝点击