scala

akka-typed(3) - PersistentActor has EventSourcedBehavior
日志   akka-typed中已经没有PersistentActor了.取而代之的是带有EventSourcedBehavior的actor,也就是一种专门支持EventSource模式的actor.E ...
akka-typed(2) - typed-actor交流方式和交流协议
日志   akka系统是一个分布式的消息驱动系统.akka应用由一群负责不同运算工作的actor组成,每个actor都是被动等待外界的某种消息来驱动自己的作业.所以,通俗点描述:akka应用就是一群act ...
akka-typed(1) - actor生命周期管理
日志   akka-typed的actor从创建.启用.状态转换.停用.监视等生命周期管理方式和akka-classic还是有一定的不同之处.这篇我们就介绍一下akka-typed的actor生命周期管理 ...
Scala的Higher-Kinded类型
日志Scala的Higher-Kinded类型 Higher-Kinded从字面意思上看是更高级的分类,也就是更高一级的抽象.我们先看个例子. 如果我们要在scala中实现一个对Seq[Int]的sum方 ...
Scala的存在类型
日志Scala的存在类型 存在类型也叫existential type,是对类型做抽象的一种方法.可以在你不知道具体类型的情况下,就断言该类型存在. 存在类型用_来表示,你可以把它看成java中的?. 下 ...
Scala的自定义类型标记
日志Scala的自定义类型标记 Scala中有很多千奇百怪的符号标记,看起来是那么的独特,就像是一杯dry martini-好像黑夜中的萤火虫,那么耀眼,那么出众. 好了言归正传,这一篇文章我们会讲一下S ...
scala教程之:可见性规则
日志和java很类似,scala也有自己的可见性规则,不同的是scala只有private和protected关键字,没有public关键字,同时scala还提供了更加细粒度的访问控制如protected ...
Scala教程之:深入理解协变和逆变
日志在之前的文章中我们简单的介绍过scala中的协变和逆变,我们使用+ 来表示协变类型:使用-表示逆变类型:非转化类型不需要添加标记. 假如我们定义一个class C[+A] {} ,这里A的类型参数是协 ...
Scala教程之:Either
日志在之前的文章中我们提到了Option,scala中Option表示存在0或者1个元素,如果在处理异常的时候Option就会有很大的限制,因为Option如果返回None,那么我并不知道具体的异常到底是 ...
Scala教程之:可变和不变集合
日志集合在程序中是非常有用的,只有用好集合才能真正感受到该语言的魅力.在scala中集合主要在三个包里面:scala.collection, scala.collection.immutable和scal ...
Scala教程之:Future和Promise
日志在scala中可以方便的实现异步操作,这里是通过Future来实现的,和java中的Future很相似,但是功能更加强大. 定义返回Future的方法 下面我们看下如何定义一个返回Future的方法: ...
Scala教程之:PartialFunction
日志Scala中有一个很有用的traits叫PartialFunction,我看了下别人的翻译叫做偏函数,但是我觉得部分函数更加确切. 那么PartialFunction是做什么用的呢?简单点说Parti ...
Scala教程之:Enumeration
日志Enumeration应该算是程序语言里面比较通用的一个类型,在scala中也存在这样的类型, 我们看下Enumeration的定义: abstract class Enumeration (init ...
Scala教程之:Option-Some-None
日志在java 8中,为了避免NullPointerException,引入了Option,在Scala中也有同样的用法.他们就是Option, Some 和None. 其中Option是一个抽象类. s ...
Scala教程之:scala的参数
日志scala的参数有两大特点: 默认参数值 命名参数 默认参数值 在Scala中,可以给参数提供默认值,这样在调用的时候可以忽略这些具有默认值的参数. def log(message: String, ...
Scala教程之:可扩展的scala
日志Scala是扩展的,Scala提供了一种独特的语言机制来实现这种功能: 隐式类: 允许给已有的类型添加扩展方法 字符串插值: 可以让用户使用自定义的插值器进行扩展 隐式类 隐式类是在scala 2.1 ...
Scala教程之:静态类型
日志Scala是静态类型的,它拥有一个强大的类型系统,静态地强制以安全.一致的方式使用抽象,我们通过下面几个特征来一一说明: 泛类型 型变 类型上界 类型下界 内部类 抽象类型 复合类型 自类型 隐式参数 ...
Scala教程之:函数式的Scala
日志Scala是一门函数式语言,接下来我们会讲一下几个概念: 高阶函数 方法嵌套 多参数列表 样例类 模式匹配 单例对象 正则表达式模式 For表达式 高阶函数 高阶函数通常来讲就是函数的函数,也就是说函 ...
Scala教程之:Scala基础
日志这篇文章我们大概过一下Scala的基础概念,后面的文章我们会有更详细的讲解Scala的具体内容. 常量 在Scala中常量用val关键字表示,如下所示: val x = 1 + 1 println(x ...
Scala教程之:面向对象的scala
日志面向对象的scala 我们知道Scala是一种JVM语言,可以合java无缝衔接,这也就大大的扩展了scala的应用范围,大数据里面有名的spark就是使用scala编写的,那么scala到底有什么奥 ...