码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-05-20 00:55:02      阅读:146      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!