大数据技术之Scala
======第一篇:Scala编程语言=====
Scala语言基础(四)Scala函数的参数
一、函数参数的求值策略
Scala中,有两种函数参数的求值策略(2种)
Call By Value:(定义:)对函数实参求值,且仅求一次
Call By Name:(定义: =>)函数实参每次在函数体内被用到时都会求值
我们来分析一下,上面两个调用执行的过程:
一份复杂一点的例子:
y是call by name,每次调用的时候,会被求值,但是函数定义中,没有用到y,所以不会被求值。
x是call by value,对函数参数求值,并且只求一次,即不管用不用得到,x都会被求值。
二、Scala中的函数参数类型
1.默认参数
2.代名参数
当有多个默认参数时,通过代名参数可以指定给哪个参数赋值
3.可变参数
参数的数量不固定