方法调用方式
在scala中,有以下几种方法调用方式,
- 后缀调用法
- 中缀调用法
- 花括号调用法
- 无括号调用法
在后续编写spark、flink程序时,我们会使用到这些方法调用方式。
后缀调用法
这种方法与Java没有区别。
语法
对象名.方法名(参数)
示例
使用后缀法Math.abs求绝对值
参考代码
代码语言:javascript复制scala> Math.abs(-1)
res3: Int = 1
中缀调用法
语法
对象名 方法名 参数
例如:1 to 10
[!TIP]
如果有多个参数,使用括号括起来
示例
使用中缀法Math.abs求绝对值
代码语言:javascript复制scala> Math abs -1
res4: Int = 1
操作符即方法
来看一个表达式
1 1
大家觉得上面的表达式像不像方法调用?
在scala中, - * / %等这些操作符和Java一样,但在scala中,
- 所有的操作符都是方法
- 操作符是一个方法名字是符号的方法
花括号调用法
语法
Math.abs{ // 表达式1 // 表达式2 }
[!DANGER]
方法只有一个参数,才能使用花括号调用法
示例
使用花括号调用法Math.abs求绝对值
参考代码
代码语言:javascript复制scala> Math.abs{-10}
res13: Int = 10
无括号调用法
如果方法没有参数,可以省略方法名后面的括号
示例
- 定义一个无参数的方法,打印"hello"
- 使用无括号调用法调用该方法
参考代码
代码语言:javascript复制def m3()=println("hello")
m3()