摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:### 课程总结~~~ 《Scala编程》本课程共十一部分 ### 课程目的:使用Scala进行Spark开发、阅读Spark源码 ~~~ 第一部分 Scala基础 ~~~ 第二部分 控制结构和函数 ~~~ 第三部分 数组和元组 ~~~ 第四部分 类与对象 ~~~ 第五部分 继承 ~~~ 第六部分
阅读全文
摘要:一、Akka ### Akka ~~~ Akka是Java虚拟机平台上构建高并发、分布式和容错应用的工具包和运行时。 ~~~ Akka用Scala语言编写,同时提供了Scala和Java的开发接口。 ~~~ Akka处理并发的方法基于Actor模型,Actor之间通信的唯一机制就是消息传递。 ###
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、类型参数 ### 扩展大纲 ~~~ 类型参数 ~~~ 泛型类、泛型函数、协变和逆变 ~~~ Akka ### 类型参数 ~~~ Scala的类型参数与Java的泛型是一样的, ~~~ 可以在集合、类、函数中定义类型参数,从而保证程序更好的健壮性。 ### 泛型类 ~~~ 泛型类,顾名思义,其实就
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、隐式参数和隐式值 ### 隐式参数和隐式值 ~~~ 在函数定义的时候,支持在最后一组参数中使用 implicit ,表明这是一组隐式参数。 ~~~ 在调用该函数的时候,可以不用传递隐式参数, ~~~ 而编译器会自动寻找一个implicit 标记过的合适的值作为参数。 ### Scala编译器会在
阅读全文
摘要:一、隐式转换函数 ### 隐式转换案例 ~~~ 隐式转换案例:特殊售票窗口(只接受特殊人群买票,比如学生、老人等), ~~~ 其他人不能在特殊售票窗口买票。 class SpecialPerson(var name: String) class Older(var name: String) cla
阅读全文
摘要:一、隐式转换 ### 隐式机制课程大纲 ~~~ 隐式转换 ~~~ 隐式转换函数 ~~~ 隐式参数和隐式值 ### 隐式转换 ~~~ 隐式转换和隐式参数是Scala中两个非常强大的功能, ~~~ 利用隐式转换和隐式参数,可以提供类库,对类库的使用者隐匿掉具体的细节。 ~~~ Scala会根据隐式转换函
阅读全文
摘要:一、隐式转换函数 ### 隐式转换函数 ~~~ Scala的隐式转换最核心的就是定义隐式转换函数,即implicit conversion function。 ~~~ 定义的隐式转换函数,只要在编写的程序内引入,就会被Scala自动使用。 ~~~ 隐式转换函数由Scala自动调用,通常建议将隐式转换
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、map、foreach & mapValues ### map、foreach & mapValues ~~~ 集合对象都有 foreach、map 算子。 ~~~ 两个算子的共同点在于:都是用于遍历集合对象,并对每一项执行指定的方法; ~~~ 两个算子的差异点在于: ~~~ foreach无返
阅读全文
摘要:一、与Java集合的转换 ### 与Java集合的转换 ~~~ 使用 scala.collection.JavaConverters 与Java集合交互。 ~~~ 它有一系列的隐式转换,添加了asJava和asScala的转换方法。 ### 编程示例 import scala.collection.
阅读全文
摘要:一、Map ### Map ~~~ Map(映射)是一系列键值对的容器;Scala 提供了可变的和不可变的两种版本的Map, ~~~ 分别定义在包 scala.collection.mutable 和 scala.collection.immutable 里; ~~~ 默认情况下,Scala中使用不
阅读全文
摘要:一、Set ### Set ~~~ Set(集合)是没有重复元素的对象集合,Set中的元素是唯一的; ~~~ Set分为可变的和不可变的集合; ~~~ 默认情况下,使用的是不可变集合(引用 scala.collection.immutable.Set); ~~~ 使用可变集合,需要引用 scala.
阅读全文
摘要:一、Seq ### seq ~~~ Seq代表按照一定顺序排列的元素序列; ~~~ 该序列是一种特别的可迭代集合,包含可重复的元素; ~~~ 元素的顺序是确定的,每个元素对应一个索引值; ### Seq提供了两个重要的子特质: ~~~ IndexedSeq:提供了快速随机访问元素的功能,它通过索引来
阅读全文
摘要:一、可变和不可变集合 ### 集成大纲 ~~~ Scala中的可变和不可变集合 ~~~ 集合的三大类:Seq、Set、Map ~~~ 集合的常用算子 ~~~ Scala与Java之间的集合转换 ### 可变和不可变集合 ~~~ 根据容器中元素的组织方式和操作方式,可以分为有序和无序、可变和不可变等不
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、偏函数 ### 偏函数 ~~~ 偏函数(Partial Function)之所以“偏”, ~~~ 原因在于它们并不处理所有可能的输入,而只处理那些能与至少一个 case 语句匹配的输入; ~~~ 在偏函数中只能使用 case 语句,整个函数必须用大括号包围。 ~~~ 这与普通的函数字面量不同,普
阅读全文