首页 > 其他 > 详细

[原创]Scala学习:函数的定义

时间:2016-05-20 00:52:12      阅读:145      评论:0      收藏:0      [点我收藏+]

方式一:标准的定义函数
  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学习:函数的定义

原文:http://www.cnblogs.com/jasonHome/p/5510667.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!