Scala语言学习3-函数定义

函数定义

Scala作为一门函数式语言,函数在其中的地位无疑是一等公民,接下来我们看看函数是如何定义的,来个简单的求大小:

scala> def max(x:Int, y:Int): Int={ if (x>y) x else y }

max: (x: Int, y: Int)Int

 

Scala的函数定义解释如下:

def 为函数定义的开始

max 为函数名

(x:Int, y:Int) 本例中的参数为两个,都为Int类型,并且必须指明参数类型,因为Scala编译器无法推断出函数参数类型

: Int= 其中Int为函数的返回类型,也就是整个函数的结果类型:result type,在通常情况下可以不写结果类型,编译器可以推断出来的,但是也有例外,比如说递归的情形就必须显示的执行函数结果类型:

         scala>  def recursion (n:Int):Int={

     |       if ( n > 1){

     |         n* recursion (n-1)

     |       }else 1

     |   }

recursion: (n: Int)Int

当然,考虑到变成习惯,最好是显示的说明一下函数的结果类型,这样从阅读的角度来看,可读性提高很多。

{ if (x>y) x else y } 是函数体

 

上例提到的是有参数的函数,那么就应该有没有参数的函数,也没有返回值的函数,我们来看看编译器对于这样的函数是怎么解释的

scala> def helloWorle(){println("Hello,World")}

helloWorle: ()Unit

如大家所见,如果没有返回的参数,那么就不指定返回类型,并且在无结果类型的函数中,会出现如下提示

 

helloWorle: ()Unit Unit就相当于Java中的void,代表的就是无返回值可以做个类比,便于吸收

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值