"=>" 在scala 中的用法
例一:《Spark大数据处理技术》程序2-25 val compareElement:((String,Int),(String,Int)) => (String,Int) = (val1,val2) => { if (val1._2 >= val2._2){ ?val1 } else { ?val2 } } 注释: 1、用val定义函数 2、compareElement函数是匿名函数 3、((String,Int) compareElement函数的函数类型声明,左边是输入参数类型,右边是方法返回值类型 4、(val1,val2) => {......} 左边是参数,右边是函数实现体 例二: 网址:http://zhouchaofei2010.iteye.com/blog/2251731 目前知道的基本和匿名函数定义和函数类型声明有关,以及在case语句中的使用
=>?
1、 匿名函数定义, 左边是参数 ?右边是函数实现体 ?(x: Int)=>{}
2、函数类型的
声明,左边是参数类型,右边是方法返回值类型 ? ? ? ? ? ? ? ?(Int)=>(Int)
3、
By-name-parameter ? ? ?f(p :=>Int)
? ? ? ??? ? 与2的区别
参考:scala By-name-parameter 和 Function type的区别
4、
case
?语句中?
case x => y
?
? 不过stackoverflow?上关于这方面的讨论挺多的,故在此记录一下 比如来自?http://stackoverflow.com/questions/6951895/what-does-and-mean-in-scala?的一位的回复: ? =>?has several meanings in Scala,all related to its mathematical meaning as implication.
http://stackoverflow.com/questions/6951895/what-does-and-mean-in-scala http://stackoverflow.com/questions/7888944/scala-punct (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |