06 2019 档案
摘要:1、Scala的future 创建future 提供异步 Java中的Future并不是全异步的,当需要Future里的值的时候,只能用get去获取它,亦或者不断访问Future的状态,若完成再去取值, 但其意义上便不是真正的异步了,它在获取值的时候是一个阻塞的操作,当然也就无法执行其他的操作,直到
阅读全文
摘要:1、隐式参数 方法可以具有隐式参数列表,由参数列表开头的implicit关键字标记。如果该参数列表中的参数没有像往常一样传递,Scala将查看它是否可以获得正确类型的隐式值,如果可以,则自动传递。 Scala将查找这些参数的位置分为两类: Scala将首先查找隐式定义和隐式参数,这些参数可以在调用隐
阅读全文
摘要:1、内部类和抽象类型成员作为对象成员 内部类 在Scala中,可以让类将其他类作为成员。这些内部类是封闭类的成员。在Scala中,这样的内部类绑定到外部对象。假设希望编译器在编译时阻止我们混合哪些节点属于哪个图。路径相关类型提供了解决方案。 为了说明差异,绘制了图数据类型的实现: 上例将图表表示为节
阅读全文
摘要:1.1泛型类 泛型类是将类型作为参数的类。它们对集合类特别有用。 定义泛类型:泛型类将类型作为方括号内的参数[]。一种惯例是使用字母A作为类型参数标识符,但是可以使用任何参数名称。 tack该类的实现将任何类型A作为参数。这意味着底层列表var elements: List[A] = Nil只能存储
阅读全文
摘要:1、模式匹配 模式匹配是一种根据模式检查值的机制。它是switch(Java中语句)的更强大版本,它同样可以用来代替一系列if / else语句。 句法 匹配表达式具有值,match关键字和至少一个case子句。 val x上面是0和10之间的随机整数,x成为的左操作数match运算符和右边是与4箱
阅读全文
摘要:1、特征 Traits用于在类之间共享接口和字段。它们类似于Java 8的接口。类和对象可以扩展特征,但是特征不能被实例化,因此没有参数。 定义一个特征 最小特征只是关键字trait和标识符: 特征作为泛型类型和抽象方法特别有用。 扩展(与Java中的实现类似)trait Iterator[A]需要
阅读全文
摘要:1 if表达式 Scala中if...else..表达式是有返回值的,如果if和else返回值类型不一样,则返回Any类型。 2 while表达式 while循环 while循环的中断 结果如下: 3 for表达式 for中to示例: for中until示例: for中的条件判断示例 for中的引入
阅读全文
摘要:1.1继承类 使用extends关键字,在定义中给出子类需要而超类没有的字段和方法,或者重写超类的方法。 1.2重写方法 重写一个非抽象方法需要override修饰符,调用超类的方法,使用super关键字。 1.3类型检查和转换 用isInstanceOf方法,测试某个对象是否属于某个给定的类型。
阅读全文
摘要:一、类 1.1简单类和无参方法 类的定义通过class关键字实现 注:调用无参方法时,可以选择加或者不加(),如果方法定义没有加(),那么调用时就不能带括号。 1.2 getter和setter方法 Scala类中的每个属性,编译后,会有一个私有的字段和相应的getting、setting方法生成。
阅读全文
摘要:一、Scala的层级 1.1类层级 Scala中,Any是所其他类的超类,在底端定义了一些有趣的类NULL和Nothing,是所有其他类的子类。 根类Any有两个子类:AnyVal和AnyRef。其中AnyVal是Scala里每个内建值类的父类 1.2底层类型 在Scala类层级中,可看到scala
阅读全文
摘要:一、数组 在Scala中,用()来访问元素,数组声明的语法格式如下 : 类型参数化数组 Scala里用new实例化对象,实例过程中,可以用值和类型使对象参数化(在创建实例的同时完成对它的“设置”)。 注:由上可知数组greetString(0)是数组的首个元素,且i<-0 to 2即为(0).to(
阅读全文
摘要:一、函数式对象 1.1 rational类的规格和创建 Rational类来源于有理数(rational number),来表示n(分子)/d(分母)的数字,同时对有理数的运算(加减乘除)建模,还具备归元化的特点。 下例子没有建模的: Rational的创建,类名后的括号里的n、d两个类参数。Sca
阅读全文
摘要:一、Scala基本类型和操作 1.1 基本类型 Scala的基本类型与Java基本类型相同,都是byte、short、int、long、char、string、float、double、boolean。在Scala其只有string归于Java.lang包。其他的都是包Scala的成员。如,int的
阅读全文
摘要:一、Scala安装和配置 1.1安装 Scala需要Java运行时库,安装Scala需要首先安装jdk。 然后在Scala官网下载 程序安装包 根据不同的操作系统选择不同的安装包,下载完成后,将安装包解压到安装目录。将scala安装目录下的bin目录加入到PATH环境变量 完成以上流程后,在命令行输
阅读全文