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 )

相关推荐
深兰科技10 天前
深兰科技受邀参与第二届中国(南宁)—东盟人工智能场景应用对接会,深化AI国际合作
人工智能·qt·r语言·scala·symfony·智能机器人·深兰科技
开开心心就好14 天前
低年级识字练笔顺工具,电脑和安卓端都能用
前端·javascript·网络·安全·scala·erlang·语音识别
开开心心就好16 天前
清理此电脑网盘图标工具,开源免费好用
网络·网络协议·tcp/ip·智能手机·电脑·scala·erlang
典典分享指南19 天前
用结构化数据管理产品知识库
scala·bash·batch·actionscript
Thomas214322 天前
scala 闭包
开发语言·后端·scala
江畔柳前堤23 天前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native
Thomas21431 个月前
Java scala 数组 链表
java·链表·scala
江畔柳前堤1 个月前
消息队列:从直觉到精通的完整认知地图
开发语言·人工智能·算法·机器学习·ruby on rails·scala
hopsky1 个月前
《Scala 学习手册》核心内容详解
人工智能·学习·scala
abcy0712132 个月前
scala playframework 搭建与新建controller教程
scala