1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 大数据常用语言Scala(十):基础语法学习 方法

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

时间:2020-09-21 23:15:34

相关推荐

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

目录

方法

定义方法

返回值类型推断

方法

一个类可以有自己的方法,scala中的方法和Java方法类似。但scala与Java定义方法的语法是不一样的。

定义方法

语法

defmethodName(参数名:参数类型,参数名:参数类型):[returntype]={

// 方法体:一系列的代码

}

[!NOTE]

参数列表的参数类型不能省略(因为之前定义变量的时候可以省略, 这里不要混淆了,因为变量给了初始值,可以根据初始值推断类型)返回值类型可以省略,由scala编译器自动推断返回值可以不写return,默认就是{}块表达式的值

示例

定义一个方法,实现两个整形数值相加,返回相加后的结果

调用该方法

参考代码

scala>defadd(a:Int,b:Int)=a +bm1:(x:Int,y:Int)Intscala>add(1,2)res10:Int=3

返回值类型推断

scala定义方法可以省略返回值,由scala自动推断返回值类型。这样方法定义后更加简洁。

[!DANGER]

定义递归方法,不能省略返回值类型

因为, 递归调用是一层一层向内走, 当前那一层无法推断返回类型, 会导致一系列问题.

示例

定义递归方法(求阶乘)

比如求10的阶乘

10 * 9 * 8 * 7 * 6 * ... * 1

参考代码

scala>defm2(x:Int)={|if(x<=1)1|elsem2(x-1)*x|}<console>:13:error:recursive method m2 needs result typeelsem2(x-1)*x

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。