scala学习笔记
文章平均质量分 83
详细介绍scala编程语法,所有小的demo均通过笔者测试通过。
-Heres-
他每做一件小事的时候,都像救命稻草一样抓着。有一天我一看,嚯,好家伙!他抱着的是已经让我仰望的参天大树了。
展开
-
scala中的方法与函数
package com.heres.scalaobject HelloScala { val func = (x: Int) => x*3 //另一种定义函数的方法 val startService: Int => Int = { num => num+1 } val func2:(Int,Double) => (Double,Int) = { (x,原创 2017-05-22 22:52:38 · 732 阅读 · 0 评论 -
scala的数组、映射、元组和集合
一、数组1.1定义数组scala> val arr = new Array[Int](10)arr: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)scala> arr(0)=1scala> arr(1)=2scala>val arr1 = Array(1,2,3,4)arr1:Array[Int] = Array(1,2,...原创 2017-05-24 22:32:35 · 1343 阅读 · 0 评论 -
scala的模式匹配和样例类
Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句、类型检查等。并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。一、字符串匹配import scala.util.Randomobject CaseDemo01 extends App{ val arr = Array("YoshizawaAkiho", "YuiHatano",转载 2017-06-09 11:12:02 · 4194 阅读 · 0 评论 -
scala之actor编程
一、什么是actor1.1概念Scala中的Actor能够实现并行编程的强大功能,它是基于事件模型的并发机制,Scala是运用消息(message)的发送、接收来实现多线程的。使用Scala能够更容易地实现多线程应用的开发。详细的Actor原理可以参考博客:https://www.iteblog.com/archives/1154.html1.2传统java并发编程与Scala原创 2017-06-11 11:18:18 · 777 阅读 · 0 评论 -
akka之RPC通信1
一、akka简介Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。Actor模型:在计算机科学领域,Actor模型是一个并行计算(Concurrent Computation)模型,它把actor作为并行计算的基本元素来对待:为响应一个接收到的消息,一个actor能够自己做出一原创 2017-06-14 22:28:51 · 740 阅读 · 0 评论 -
用AKKA实现简单的RPC通信模型2
上一篇文章,简单地用AKKA实现了RPC通信,这篇文章在之前的基础之上,进行了更多地关于RPC通信的操作,包括传一些相关数据,包括心跳机制等具体功能如下图:代码结构:WorkerInfo.scala代码package cn.heres.rpc/** * Created by vinsuan on 2017/6/15 0015. */class Work原创 2017-06-16 22:07:20 · 1020 阅读 · 0 评论 -
scala之高阶函数
一、概念Scala混合了面向对象和函数式的特性,我们通常将可以做为参数传递到方法中的表达式叫做函数。在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。二、作为值的函数可以像任何其他数据类型一样被传递和操作的函数,每当你想要给算法传入具体动作时这个特性就会变得非常有用。原创 2017-06-24 21:22:16 · 453 阅读 · 0 评论 -
scala的隐式转化
一、前言学过java我们都知道,java中的继承是对类的增强,java中的代理、装饰是对对象方法的增强。而在scala中,隐式转换和隐式参数是Scala中两个非常强大的功能,隐式的对类的方法进行增强,丰富现有类库的功能 。利用隐式转换和隐式参数,你可以提供优雅的类库,对类库的使用者隐匿掉那些枯燥乏味的细节。而所谓的隐式转化函数,是指那种以implicit关键字声明的带有单个参数的函数。下面原创 2017-07-09 14:25:51 · 678 阅读 · 0 评论 -
scala的类与对象
一、类的定义//在Scala中,类并不用声明为public。//Scala源文件中可以包含多个类,所有这些类都具有公有可见性。class Person { //用val修饰的变量是只读属性,有getter但没有setter //(相当与Java中用final修饰的变量) val id = "9527" //用var修饰的变量既有getter又有setter var a原创 2017-07-09 22:36:41 · 1239 阅读 · 0 评论 -
Scala控制结构
package com.heres.scala/** * 1.Scala中基本控制结构,顺序、条件、循环。这和其它的JVM语言是一致的,但是Scala也有些 * 高级的流程控制结构,例如:模式匹配; * 2.这这里我们主要if 、for、while等三种控制结构及其企业级最佳实践,并且在最后用Spark源码说明。 */object Contros { def main(args原创 2017-07-17 23:05:23 · 650 阅读 · 0 评论