Scala入门-函数定义


Scala 因为语法灵活性的原因,定义函数或者方法有多种方式。

方式 1

规范化写法,指明函数的返回值类型。

如果写了 return 关键字 ,那么就必须声明返回值类型。

object FunDef {
  def main(args: Array[String]): Unit = {
    def getSum(n1: Int, n2: Int): Int = {
      return n1 + n2
    }
  }
}

方式 2

不写明返回值的类型,且不写 return,程序会自行推导。最后一行代码的执行结果为返回值。

object FunDef {
  def main(args: Array[String]) = {
    def getSum(n1: Int, n2: Int) = {
      n1 + n2
    }
  }
}

方式 3

省略返回值类型和 = 号。表示没有返回值,无论函数内部有没有返回值,返回值都是 Unit。

object FunDef {
  def main(args: Array[String]) {
    def getSum(n1: Int, n2: Int) {
      n1 + n2
    }
  }
}

上面等价于

object FunDef {
  def main(args: Array[String]): Unit = {
    def getSum(n1: Int, n2: Int): Unit = {
      n1 + n2
    }
  }
}

方式 4

object FunDef {

    def addInt2(n1: Int, n2: Int) = n1 + n2
  }
}

方式 5

Spark 编程中常用到。

object FunDef {
    val addInt3 = (n1: Int, n2:Int) => n1 + n2
  }
}

文章作者: Tianny
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Tianny !
评论
 上一篇
Scala入门-惰性函数 Scala入门-惰性函数
在 Scala 中,使用 lazy 关键字来实现延迟执行。 如果使用了 lazy 定义某一个变量,则这个变量只有在被使用时才会执行初始化。 常规调用不使用惰性加载,代码如下: object LazyFun { def main(args
2020-03-18
下一篇 
Scala入门-break & continue Scala入门-break & continue
Scala 推荐使用函数式的风格解决 break 和 continue 的功能,而不是像 Java 一样提供关键字功能。 Break 实现将整个循环的逻辑放在 breakable 方法中,在需要真正跳出循环的时候使用 break 方法,这样
2020-03-18
  目录