2021年大数据常用语言Scala:基础语法学习 方法
Posted Lansonli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年大数据常用语言Scala:基础语法学习 方法相关的知识,希望对你有一定的参考价值。
目录
方法
一个类可以有自己的方法,scala中的方法和Java方法类似。但scala与Java定义方法的语法是不一样的。
定义方法
语法
def methodName (参数名:参数类型, 参数名:参数类型) : [return type] = {
// 方法体:一系列的代码
}
[!NOTE]
- 参数列表的参数类型不能省略(因为之前定义变量的时候可以省略, 这里不要混淆了,因为变量给了初始值,可以根据初始值推断类型)
- 返回值类型可以省略,由scala编译器自动推断
- 返回值可以不写return,默认就是{}块表达式的值
示例
定义一个方法,实现两个整形数值相加,返回相加后的结果
调用该方法
参考代码
scala> def add(a:Int, b:Int) = a + b
m1: (x: Int, y: Int)Int
scala> add(1,2)
res10: Int = 3
返回值类型推断
scala定义方法可以省略返回值,由scala自动推断返回值类型。这样方法定义后更加简洁。
[!DANGER]
定义递归方法,不能省略返回值类型
因为, 递归调用是一层一层向内走, 当前那一层无法推断返回类型, 会导致一系列问题.
示例
定义递归方法(求阶乘)
比如求10的阶乘
10 * 9 * 8 * 7 * 6 * ... * 1
参考代码
scala> def m2(x:Int) = {
| if(x<=1) 1
| else m2(x-1) * x
| }
<console>:13: error: recursive method m2 needs result type
else m2(x-1) * x
以上是关于2021年大数据常用语言Scala:基础语法学习 方法的主要内容,如果未能解决你的问题,请参考以下文章
2021年大数据常用语言Scala(十三):基础语法学习 函数 重点掌握
2021年大数据常用语言Scala:基础语法学习 break和continue