2021年大数据常用语言Scala(十一):基础语法学习 方法参数
目录
方法参数
默认参数
带名参数
变长参数
方法参数
scala中的方法参数,使用比较灵活。它支持以下几种类型的参数:
- 默认参数
- 带名参数
- 变长参数
默认参数
在定义方法时可以给参数定义一个默认值。
示例
定义一个计算两个值相加的方法,这两个值默认为0
调用该方法,不传任何参数
参考代码
// x,y带有默认值为0
def add(x:Int = 0, y:Int = 0) = x + y
add()
带名参数
在调用方法时,可以指定参数的名称来进行调用。
示例
定义一个计算两个值相加的方法,这两个值默认为0
调用该方法,只设置第一个参数的值
参考代码
def add(x:Int = 0, y:Int = 0) = x + y
add(x=1)
变长参数
如果方法的参数是不固定的,可以定义一个方法的参数是变长参数。
语法格式:
def 方法名(参数名:参数类型*):返回值类型 = {
方法体
}
[!NOTE]
在参数类型后面加一个*号,表示参数可以是0个或者多个
示例
定义一个计算若干个值相加的方法
调用方法,传入以下数据:1,2,3,4,5
参考代码
scala> def add(num:Int*) = num.sum
add: (num: Int*)Intscala> add(1,2,3,4,5)
res1: Int = 15
其他:
- scala允许指定最后一个参数是可变长度的, 或者唯一一个参数
- 变长参数,在函数体内本质上是一个Array实例. 也就是除了例子里面的sum 外, 我们也可以用for循环迭代它, 如:
scala> def add(x: Int*): Int = {| var result = 0| for(i <- x) result += i| result| }
add: (x: Int*)Intscala> add(1, 2, 3)
res6: Int = 6
- 虽然它本质上是一个Array ,但是你不可以将Array对象传递给他, 如果要传递 需要传递如 array:_* 表明将每个元素传递给它 而不是整个数组对象
scala> add(ar:_*)
res8: Int = 15
2021年大数据常用语言Scala(十一):基础语法学习 方法参数相关推荐
- 2021年大数据常用语言Scala(三十一):scala面向对象 特质(trait)
目录 特质(trait) 作为接口使用 定义具体的方法 定义具体方法和抽象方法 定义具体的字段和抽象的字段 实例对象混入trait trait调用链 trait的构造机制 trait继承class 特 ...
- 2021年大数据常用语言Scala(二十一):函数式编程 遍历 foreach
目录 遍历 foreach 使用类型推断简化函数定义 使用下划线来简化函数定义 遍历 foreach 之前,学习过了使用for表达式来遍历集合.我们接下来将学习scala的函数式编程,使用fore ...
- 2021年大数据常用语言Scala(四):基础语法学习 声明变量
目录 声明变量 语法格式 在解释器中定义一个变量 val和var变量 使用类型推断来定义变量 惰性赋值 声明变量 我们将来每一天编写scala程序都会定义变量.那scala语言如何定义变量呢? 语法格 ...
- 2021年大数据常用语言Scala(十六):基础语法学习 列表 List 重点掌握
目录 列表 List 重点掌握 不可变列表定义 可变列表 列表常用操作 列表 List 重点掌握 列表是scala中最重要的.也是最常用的数据结构.List具备以下性质: 可以保存重复的值 有先后顺序 ...
- 2021年大数据常用语言Scala(十四):基础语法学习 数组 重点掌握
目录 数组 重点掌握 定长数组 变长数组 遍历数组 数组常用算法 数组 重点掌握 scala中数组的概念是和Java类似,可以用数组来存放一组数据.scala中,有两种数组,一种是定长数组,另一种 ...
- 2021年大数据常用语言Scala(一):Scala简介
目录 一.Scala简介 为什么使用scala Scala对比Java 案例 一.Scala简介 scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程 多范式:就是包含多种编程思 ...
- 2021年大数据常用语言Scala(二十七):函数式编程 聚合操作
目录 聚合操作 聚合 reduce 定义 案例 折叠 fold 定义 案例 聚合操作 聚合操作,可以将一个列表中的数据合并为一个.这种操作经常用来统计分析中 聚合 reduce reduce表示 ...
- 2021年大数据常用语言Scala(三十四):scala高级用法 异常处理
目录 异常处理 捕获异常 抛出异常 异常处理 Scala中 无需在方法上声明异常 来看看下面一段代码. def main(args: Array[String]): Unit = {val i = 1 ...
- 2021年大数据常用语言Scala(二十九):scala面向对象 单例对象
目录 单例对象 定义object - 掌握 伴生对象 - 掌握 apply方法 - 掌握 main方法 单例对象 Scala中没有static关键字,但是它支持静态 如果要定义静态的东西,统统定义到o ...
最新文章
- 使用python愉快地做高数线代题目~
- 提高C++性能的编程技术笔记:编码优化+测试代码
- 212页PPT详解MEMS微传感器的工作原理(深入全面!)
- ubuntu查看python版本-切换Ubuntu默认python版本的两种方法
- Hibernate数据保存操作方法的原理对比
- vmware 指定的网络名不可用
- asp.net 报表页面模板_20套大屏模板,教你3分钟制作出酷炫的可视化大屏
- vim 插件cscope 使用
- 【转】常用的正则表达式
- python中的元组字符串整数浮点数都是不可变的数据类型,Python不可变数据类型总结...
- NLPIR ICTCLAS2015分词系统的使用
- DeepFaceLab坑之ffmpeg
- python中读取列表所有元素_python获取所有子元素
- 【笔记总结】高中生物——【选一 Ⅱ】第二章 微生物的培养与应用
- unity中eulerAngles和rotation的区别
- 人生不过一场旅行,你路过我,我路过你
- 2021年8月--最新免费国内1000个http代理ip
- 有三顶红帽子和两顶蓝帽子逻辑推理
- 一篇讲解iphone6 双核处理器的新闻稿
- comon lisp标准_common Lisp学习笔记(十四)