Scala => 用法总结
来源:互联网 发布:java创建线程runnable 编辑:程序博客网 时间:2024/05/18 19:40
10.1 =>
这是个各种诡异用法的标记
10.1.1 创建匿名函数
=>右边是函数体,左边表示函数的参数类型.
(x: Int) => x + 1
10.1.2 无参匿名函数
() => T
相当于
new Function0[T] //T是返回类型
下面是示例代码
scala> val f: () => Unit = () => { println("x")}f: () => Unit = <function0>scala> f()xscala> val f2: Function0[Unit] = () => println("x2")f: () => Unit = <function0>scala> f2()x2
10.1.3 map函数中使用
这个十分常用,尤其在Spark里对RDD等数据类型操作时。这里很像匿名函数的创建方式,其实是lambda表达式,不清楚两者是否有区别。
List(1,2,3).map { (x: Int) => x * 2 }
10.1.4 case 语句里面使用
=>左边是匹配模式,右边是匹配成功后执行的表达式下面的v1形如Some(T), 需要将T提取出来。使用了match/case语句。
v1 match { case Some(value1) => println(value1)}
10.1.5 名字传参
类似与lisp,在函数执行时才对参数求值
def f(x: => Int) = x * x// call it nowvar y = 0f { y += 1; y }// result like eval { y += 1; y } * { y += 1; y }2
{y+=1;y} 并不特别,只是对y做了加1的操作,后面的;y没有起到任何修改y值的作用。 1 * 2 = 2。 就这么计算出来的。
阅读全文
0 0
- Scala => 用法总结
- scala implicit 关键字用法总结
- scala中=>的用法
- scala => 用法 匿名函数
- scala =>符号含义总结
- Scala总结
- SCALA 函数用法浅析
- Scala List foldLeft用法
- scala的下划线用法
- Scala中的yield用法
- scala _的用法
- Scala-"_"的用法
- scala一些用法
- SCALA下划线_用法
- scala 通配符的用法
- Scala 按名称参数调用函数 与 =>的用法
- 【scala 匹配模式】match case|case class |::|:::|=>用法
- Scala学习总结
- tensorflow Shapes and Shaping
- C# 装箱与拆箱
- Android Studio 使用技巧:修改默认build.gradle
- SPP(Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition)
- Reverse String II
- Scala => 用法总结
- Unity Shader入门精要笔记(十三):法线纹理
- 【转载】excel中自带的条件格式设置
- python3中无法导入cPickle
- iOS 音视频采集以及写入文件(swift)
- zcmu 1780——LoL?
- 算法<异或操作交换两个数的坑>
- c++:使用标准库的文本查询程序
- Android常用框架--图片加载系列框架