=> in Scala
2024-09-07 03:11:12
What does => mean in Scala?
操作符=>在Scala中什么意思?
百度了下,有个论坛给出了比较全面的回答,请参见http://stackoverflow.com/questions/6951895/what-does-and-mean-in-scala
为了便于理解,这里翻译下大体内容。
在Scala中,根据=>出现的场景,=>有4种意思。
1、当=>出现在值中(in a value)时,表示进入(introduce)一个函数字面量,或者lambda表达式,比如下列花括号中的内容:
List(1,2,3).map { (x: Int) => x * 2 }
2、当=>出现在类型(type)中,其左右两侧都是符号(symbol)时,表示一种语法糖(syntactic sugar),A=>T表示Function<1>[A, T]
(对于Function<1>[A, T],明天再解释)
3、当=>出现在方法或者函数参数的类型声明中,在=>左侧没有符号时,表示传名参数(by-name parameter),比如:
def unless(cond: Boolean, func: () =>Any)={
if(!cond) {
func()
}
}
也可表示为:
def unless(cond: Boolean, expr: =>Any)={
if(!cond) {
expr
}
}
传名函数明天再解释。
4、=>出现在case语句中,用来分割模式与结果,比如:
case x => y
题外话:=>怎么发音哪?
这个论坛中有个讨论,比较统一的读法应该是 goes to
最新文章
- 使用JavaScript访问子节点方法elementNode.childNodes时,需要注意的地方
- linux环境下安装jdk
- php 运行脚本shell
- MFC获取系统当前时间的几种方法
- LA 4287
- android 点九PNG技术 适应不同分辨率 完美显示效果
- jquery定义表格宽度
- 使用TortoiseGit对Git版本进行分支操作
- LinkedList : 双向链表与实现
- openldap 编译报错MozNSS not found
- 如何把activity当成dialog
- 激活IDEA方法
- mysql-SQL Error: 1205, SQLState: 41000
- Altium Designer (17.0) 打印输出指定的层
- awk按顺序去除重复行
- There are 0 datanode(s) running and no node(s) are excluded in this operation.
- 01:jQuery的下拉选select2插件用法
- libco协程库上下文切换原理详解
- 怎么查看在centos中创建的用户组
- Wireshark中TCP segment of a reassembled PDU的含义