Scala共49篇
Scala 教程 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。 Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。 谁适合阅读本教程? 本教程适合想从零开始学习 Scala 编程语言的开发人员。当然本教程也会对一些模块进行深入..
8.2 字符串插值-知趣

8.2 字符串插值

 Scala中的String构建在Java中的String之上,并添加了额外的特性,如字符串插值(字符串插值是一种将字符串内的值与变量相结合的机制)。字符串插值是根据数据创建字符串的过程。用户可以将任...
2.4 数组-知趣

2.4 数组

Scala语言中提供的数组是用来存储固定大小的同类型元素的。数组的第一个元素索引为0,最后一个元素的索引为元素总数减1。Scala中数组分为定长数组和变长数组。创建定长数组Array的两种方式:先...
5.8 尾递归函数-知趣

5.8 尾递归函数

在本节中,我们将学习如何创建尾递归(tail recursive)函数,以及如何使用@annotation.tailrec注解,这将指示编译器应用任何进一步的优化。如何定义尾递归函数?在下面的示例中,我们定义一个...
1.1 Scala简介-知趣

1.1 Scala简介

Scala是一种非常适合开发大数据应用程序的语言,是使用Apache Spark的首选语言。使用Scala语言来学习Spark,具有以下优点:首先,开发人员可以通过使用Scala实现显著的生产力提升。其次,它帮助...
4.7 Scala集合:Range和Tuple-知趣

4.7 Scala集合:Range和Tuple

RangeRange定义一个范围,指定开始、结束和步长,通常用于填充数据结构和遍历for循环。object RangeDemo { def main(args: Array[String]): Unit = {   // 使用方法to来创建Range(包含上限)  ...
8.1 字符串基本使用和相等性判断-知趣

8.1 字符串基本使用和相等性判断

在 Scala 中,String 是一个不可变的对象,所以该对象不可被修改。这就意味着如果修改字符串就会产生一个新的字符串对象。但其他对象,如数组就是可变的对象。字符串基本使用Scala中字符串的数...
2.3 运算符-知趣

2.3 运算符

数据存储在变量中,要对数据进行运算,就需要使用运算符。Scala语言中提供了这几种运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。注:实际上,Scala没有传统意义上的运...
5.7 类型化函数,多态函数和符号函数-知趣

5.7 类型化函数,多态函数和符号函数

类型化函数所谓类型化函数,指的是在调用函数时可以指定参数的类型。Scala的类型化函数通过变量的使用提供了更大的灵活性。那么,如何定义一个泛型类型函数将指定其参数的类型?下面我们将创建...
1.2 安装Scala-知趣

1.2 安装Scala

Scala可以安装在Windows和Linux操作系统下。下面我们分别介绍在这两个操作系统下安装Scala的步骤。 (注:在安装Scala前,请确保已经安装好了JDK 8,并配置好了环境变量。)本节包括如下内容:...
4.6 Scala集合:Vector-知趣

4.6 Scala集合:Vector

什么是向量?根据Scala文档,Vector是类似于List的数据结构。但是,它解决了List中随机访问的低效问题。【示例】学习如何使用Scala的不可变向量来执行一些常见的操作,比如初始化Vector,访问特...
7.8 枚举-知趣

7.8 枚举

在Scala中没有enum关键字。相反,Scala提供了一个Enumeration类,我们可以扩展这个类来创建枚举类型。object demo10 {​ // 创建枚举类型 object Stars extends Enumeration {   type Stars = ...
2.2 数据类型-知趣

2.2 数据类型

与Java语言类似,Scala 语言内置了基本的数据(变量)类型以及在这些类型上允许执行的运算符。但是与Java语言不同的是,Scala没有原始数据类型(基本数据类型)。在Scala中,所有的数据类型都是对...
5.6 隐式函数-知趣

5.6 隐式函数

在本教程中,我们将学习如何创建隐式函数。通过使用隐式函数,我们可以为几乎任何类型或类提供扩展方法或函数。 顾名思义,Scala从一开始就是可扩展的。隐式的用法,是Scala提供的特性之一,通...
11.1文件IO-知趣

11.1文件IO

基本的输入输出可以用scala.io.StdIn.readLine()函数从控制台读取一行输入。如果要读取数字、Boolean或者是字符,可以用readInt、readDouble、readByte、readShort、readLong、readFloat、readB...
4.5 Scala集合:Stream流-知趣

4.5 Scala集合:Stream流

什么是Stream流?根据Scala文档,流是类似于列表的数据结构,只是流的元素是惰性计算机制。因此,可以拥有无限长的流!Stream(流)与List类似,但是它是延迟计算的,所以可以非常非常长。// 创建...
7.7 隐式类-知趣

7.7 隐式类

在Scala中,可以通过编写隐式转换,并在需要时将它们引入作用域,从而向封闭类添加新功能。这种方法的一个主要好处是,不必扩展现有的类来添加新功能。从Scala 2.10开始,可以定义一个隐式类,...