scala 函数介绍

package day1

/**
  * Created by LW on 2017/3/13.
  * scala 函数介绍
  */
object function {

  def main(args: Array[String]) {
    println(abs(-4)) // 4
    println(fac(5)) // 120
    println(decorate("hello")) // {hello}
    println(sum(3, 4, 5, 6)) // 18
    //    val s=sum(1 to 5) // 错误的传参,传入的是整数区间
    val v = sum(1 to 5: _*) // 正确的传参。_* 将1 to 5 转换成参数序列
  }

  // 1、函数的定义需要函数名称、参数、函数体,如:
  def abs(a: Int) = if (a >= 0) a else -a

  // 2、只要函数不是递归的就不必指定返回类型,递归函数需要指定返回类型,如:
  def fac(a: Int): Int = if (a <= 0) 1 else a * fac(a - 1)

  // 3、函数可以有默认参数:
  def decorate(str: String, left: String = "{", right: String = "}") = left + str + right

  // 4、函数可以 接受边长参数列表
  def sum(a: Int*) = {
    var res = 0
    for (n <- a)
      res += n
    res
  }

}

你可能感兴趣的:(Scala)