2021年大数据常用语言Scala(十一):基础语法学习 方法参数

举报
Lansonli 发表于 2021/09/28 23:43:36 2021/09/28
【摘要】 目录 方法参数 默认参数 带名参数 变长参数 方法参数 scala中的方法参数,使用比较灵活。它支持以下几种类型的参数: 默认参数带名参数变长参数   默认参数 在定义方法时可以给参数定义一个默认值。 示例 定义一个计算两个值相加的方法,这两个值默认为0 调用该方法,不传任何参数 参考代码 // ...

目录

方法参数

默认参数

带名参数

变长参数


方法参数

scala中的方法参数,使用比较灵活。它支持以下几种类型的参数:

  • 默认参数
  • 带名参数
  • 变长参数

 

默认参数

在定义方法时可以给参数定义一个默认值。

示例

定义一个计算两个值相加的方法,这两个值默认为0

调用该方法,不传任何参数

参考代码


  
  1. // x,y带有默认值为0
  2. def add(x:Int = 0y:Int = 0) = x + y
  3. add()

 

带名参数

在调用方法时,可以指定参数的名称来进行调用。

 

示例

定义一个计算两个值相加的方法,这两个值默认为0

调用该方法,只设置第一个参数的值

 

参考代码


  
  1. def add(x:Int = 0, y:Int = 0) = x + y
  2. add(x=1)

 

变长参数

如果方法的参数是不固定的,可以定义一个方法的参数是变长参数。

语法格式:

def 方法名(参数名:参数类型*):返回值类型 = {
    方法体
}

[!NOTE]

在参数类型后面加一个*号,表示参数可以是0个或者多个

示例

定义一个计算若干个值相加的方法

调用方法,传入以下数据:1,2,3,4,5

 

参考代码


  
  1. scala> def add(num:Int*) = num.sum
  2. add: (num: Int*)Int
  3. scala> add(1,2,3,4,5)
  4. res1: Int = 15

其他:

  1. scala允许指定最后一个参数是可变长度的, 或者唯一一个参数
  2. 变长参数,在函数体内本质上是一个Array实例. 也就是除了例子里面的sum 外, 我们也可以用for循环迭代它, 如:

  
  1. scala> def add(x: Int*): Int = {
  2. | var result = 0
  3. | for(i <- x) result += i
  4. | result
  5. | }
  6. add: (x: Int*)Int
  7. scala> add(1, 2, 3)
  8. res6: Int = 6

 

  1. 虽然它本质上是一个Array ,但是你不可以将Array对象传递给他, 如果要传递 需要传递如 array:_* 表明将每个元素传递给它 而不是整个数组对象

  
  1. scala> add(ar:_*)
  2. res8: Int = 15

 

文章来源: lansonli.blog.csdn.net,作者:Lansonli,版权归原作者所有,如需转载,请联系作者。

原文链接:lansonli.blog.csdn.net/article/details/116430485

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。