scala传递匿名函数简化的原则

以一下这个标准调用为例说明问题。

f((name: String) => {

println(name)

})

i、 参数的类型可以省略,会根据形参进行自动的推导

f((name) => {

println(name)

})

ii、 类型省略之后,如果只有一个参数,则圆括号可以省略;其他情况: 没有参数和参数超过 1 的永远不能省略圆括号

f( name => {

println(name)

})

iii、 匿名函数如果只有一行,则大括号也可以省略

f( name => println(name) )

iv、 如果 参数只出现一次 ,则参数可以省略且后面的参数可以用_代替

f( println(_) )

推导:对于多个参数,但是参数只出现一次 ,那么每个参数可以使用_代替,但是下划线的顺序和参数的顺序是一一对应的。

v、如果可以推断出当前传入的表达式是一个函数体,而不是调用语句,可以直接省略下划线

f( println )

相关推荐
智海观潮3 天前
学好Spark必须要掌握的Scala技术点
大数据·spark·scala
盛小夏4 天前
用链式风格写代码,就像在搭积木
scala
盛小夏6 天前
元组(Tuple)详解:初学者必须掌握的数据结构
scala
赞鱼儿7 天前
Scala中函数的基本使用
scala
还是大剑师兰特8 天前
Scala面试题及详细答案100道(71-80)-- 与Java的交互
scala·大剑师·scala面试题
92749 天前
12函数参数
scala
geilip13 天前
知识体系_scala_利用scala和spark构建数据应用
开发语言·spark·scala
Hello.Reader13 天前
Flink 高级配置发行版剖析、Scala 版本、Table 依赖与 Hadoop 集成实战
hadoop·flink·scala
IvanCodes17 天前
八、Scala 集合与函数式编程
大数据·开发语言·scala
卓码软件测评18 天前
第三方软件测试公司:【Gatling基于Scala的开源高性能负载测试工具】
测试工具·开源·scala·压力测试·可用性测试·第三方软件测试