1.scala中map的几种常用遍历方式.
postData.map(k => {
println(k._1)
println(k._2)
//println(v)
})
postData.foreach(k => {
println(k._1)
println(k._2)
})
for((k,v) <- postData) yield{
println(k)
println(v)
}
2.Sealed class的含义
匹配的case class是无法穷举的,Sealed class只能在和他相同的文件中定义子类,所以只需要关注当前文件的case class匹配的列举,并且如果列举不全则编译时有Warning。
sealed abstract class Expr
case class Var(name: String) extends Expr
case class Number(num: Double) extends Expr
case class UnOp(operator: String, arg: Expr) extends Expr
def describe(e: Expr): String = e match{
case Number(x) => "a number"
case Var(_) => "a variable"
}
3.trait的理解。
trait中可以包含未实现的方法,也可以包含已实现的方法
trait中的方法实现实际上是被放到一个特殊的辅助类中,这个类在每次调用方法时被引用到,使用这种方法我们不需要将方法体拷贝到每个扩展该trait的的类中去。
trait不能像class那样带型参calss xxx(val sss:String) 合法
trait xxx(val sss:String)不合法
4.yield 关键字
针对每一次 for 循环的迭代, yield 会产生一个值,被循环记录下来 (内部实现上,像是一个缓冲区).
当循环结束后, 会返回所有 yield 的值组成的集合.
返回集合的类型与被遍历的集合类型是一致的.
5.code : => Unit与code: ()=>Unit的差别
第一个是传入方法体,在传入时会立刻执行。
第二个是指传入的方法名,是一个无参数的匿名函数。
分享到:
相关推荐
这篇文章将基于“Scala学习总结”的标题和标签“源码”、“工具”来深入探讨Scala的核心概念、常用工具以及如何通过源码学习。 1. Scala基础语法 Scala的基础语法与Java类似,但更加简洁和灵活。它支持静态类型,...
scala个人学习时总结的脑图
Scala 语言详细总结 Scala 是一门以 Java 虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。Scala 是纯粹的面向对象的语言,每个值都是对象,每个操作都是方法调用。 ...
### Scala学习笔记(全) #### 一、Scala概述与特点 Scala是一种多范式的编程语言,旨在集成面向对象编程和函数式编程的各种特性。它运行于Java平台(Java虚拟机JVM),并且能够完全兼容所有的Java程序。这使得Scala...
Scala 详细总结(精辟版++) Scala 是一门基于 Java 虚拟机(JVM)为目标运行环境,并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。Scala 是纯粹的面向对象语言,每个值都是对象,每个操作都是...
学习Scala需要对函数式编程有所了解,并准备接受从传统的指令式编程思维到函数式编程思维的转变。通过不断实践和深入理解Scala的各种特性,开发者可以更好地利用这种强大且灵活的语言进行软件开发。
### Scala详细总结 #### 概述 Scala是一种静态类型的编程语言,其设计目的是结合面向对象编程和函数式编程的优点,并且能在Java虚拟机(JVM)上运行。Scala旨在提供比Java更简洁、更具表现力的语法,同时利用Java...
了解 Scala 是学习 Spark 的一大优势,因为 Spark 中的许多高级功能和 API 都是用 Scala 实现的,因此使用 Scala 访问这些功能和 API 会更加简单。 在 Spark 中,数据以弹性分布式数据集(RDD)的形式存在,RDD 是 ...
总结来说,Scala和Spark的组合为大数据分析带来了高效、灵活且易于维护的解决方案。通过函数式编程,我们可以写出简洁且易于测试的代码;借助Spark的分布式计算能力,我们可以在大数据集上快速执行复杂分析;同时,...
但是现在scala的相关学习资料不多,因此,本人总结了几篇写的较好的scala学习资料,包含<ScalaQuery_Commerzbank_2011><twitter-scala><TR611><scala-style-guide>。因此,无论是初学者,还是想要深入研究scala的...
这个"scala-2.11.8.rar"压缩包包含了Scala语言的2.11.8版本的源代码,这对于理解Scala的工作原理、学习高级编程技巧以及进行自定义扩展或调试都是非常有价值的。 Scala 2.11.x系列是该语言的一个稳定版本,提供了...
Scala是一种多范式编程语言,它融合了面向对象和函数式编程的概念,旨在提供一种高效、灵活且富有表达力的编程环境。Scala这个名字是“Scalable Language...学习和掌握Scala,可以提升开发者在现代软件开发中的竞争力。
### Scala实战知识点详解 #### Scala简介 Scala是一种融合了面向对象编程与函数式...通过本文档的学习,读者可以了解到Scala的基本概念、安装配置流程以及基础语法等知识点,为进一步深入学习Scala打下坚实的基础。
总结来说,Idea-Scala插件是Scala开发者在IntelliJ IDEA中不可或缺的伴侣,它极大地提升了开发体验和生产力。通过深入了解和熟练使用插件的各项功能,可以更好地驾驭Scala这门语言,享受编程的乐趣。
这对于快速测试代码片段、学习Scala语法以及调试都非常有用。 1. **启动Scala Shell**:安装完Scala后,可以在命令行中输入`scala`命令来启动Scala Shell。 2. **常用命令**: - `:load filename`:加载并执行指定...
通过上述步骤,我们不仅成功搭建了Scala的开发环境,还集成了IntelliJ IDEA和Eclipse两个主流IDE的Scala插件,为后续的Scala学习与项目开发打下了坚实的基础。Scala凭借其独特的魅力和强大的功能,正逐渐成为开发者...
Scala是一种多范式的编程语言,设计目标是融合面向对象编程和函数式编程的特性,它在Java...对于有Java背景的开发者,Scala提供了一条平滑的学习曲线,可以利用已有的Java知识快速上手,并享受到Scala带来的强大功能。