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

5.2 函数方法和函数参数

函数方法也可以使用def关键字来定义有名字的函数。在Scala 中,使用关键字def 定义函数,其语法格式如下:def 函数名(参数1:数据类型,参数2:数据类型):函数返回类型= {   函数体}这种方式,通常...
8.2 字符串插值-知趣

8.2 字符串插值

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

5.3 高阶函数

什么是高阶函数?在scala中,函数可以作为参数来传递。下面的代码定义一个接受函数作为参数的函数:// 函数定义def operation(func:(Int, Int) => Int) = {   val result = func(4,4)   pri...
5.5 嵌套函数-知趣

5.5 嵌套函数

Scala允许用户在函数中定义函数。这称为嵌套函数,其中内部函数称为局部函数。以下代码表示嵌套的函数。def bookAssignAndDisplay(bookId:Int,bookname:String) = { def getBookDetails(bookId:...
7.7 隐式类-知趣

7.7 隐式类

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

4.8 Scala集合:Option

在Scala中,Option[T]是给定类型的0或1个元素的容器。Option 是一个数据类型,用来表明一些数据的“有”或“无”,可以是Some[T]或None[T],其中T可以是任何给定类型。一个Some 实例可以存储任...
4.5 Scala集合:Stream流-知趣

4.5 Scala集合:Stream流

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

4.3 Scala集合:Map

Map是一个key-value 对的集合。在其它语言中,它被称为词典、关联数组、或HashMap。这是一个根据key查找value的高效的数据结构。下面的代码段演示了怎样创建和使用一个Map:val capitals = Map(...
9.1 数值类型简介-知趣

9.1 数值类型简介

在Scala中,所有的数值类型都是对象,包括Byte、Char、Double、Float、Int、Long和Short。这七个数值类型继承自AnyVal trait。它们的取值范围与Java一样:数据类型描述大小最小值最大值Char无符...
7.5 样例类(case class)-知趣

7.5 样例类(case class)

Scala中提供了一种特殊的类,用case class进行声明,中文也可以称作“样例类”。样例类是一种特殊的类,经过优化以用于模式匹配。样例类类似于常规类,带有一个case 修饰符的类,在构建不可变类...
1.4 使用IDEA开发Scala应用程序-知趣

1.4 使用IDEA开发Scala应用程序

接下来,我们就可以开发第一个Scala程序“HelloWorld”了。本节包括如下内容:创建Scala项目创建Scala应用程序注意:确保已经安装好了JDK 8+。 创建Scala项目首先我们在IntelliJ IDEA中创建一...
8.3 使用正则表达式处理字符串-知趣

8.3 使用正则表达式处理字符串

字符串中正则表达式模式匹配通过在String上调用.r方法来创建一个scala.util.matching.Regex对象,然后在findFirstIn中使用该模式来查找一个匹配,在findAllIn中使用该模式来查找所有的匹配。  ...
1.3 使用IntelliJ IDEA集成开发环境-知趣

1.3 使用IntelliJ IDEA集成开发环境

在本节中,我们将使用流行的IntelliJ IDEA来展示如何设置编写Scala代码的开发环境。本节包括如下内容:下载IntelliJ IDEA安装IntelliJ IDEA安装Scala插件注意:确保已经安装好了JDK 8+。 下载I...
9.2 数值类型间转换-知趣

9.2 数值类型间转换

字符串转数值(解析)Scala提供了将字符串解析为数值的方法。请看下面的代码:// 字符串转数值(解析)println('100'.toInt) // 100println('100'.toDouble) // 100.0println('100'.toFloat) // 100...
3.3 简单模式匹配-知趣

3.3 简单模式匹配

Scala中没有提供与Java语言中switch类似的语法,但是提供了一个更加强大的模式匹配功能。模式匹配是一个Scala 概念,它看上去与其它语言中的一个switch 语句很类似。不过,它是一个比switch 语...
5.8 尾递归函数-知趣

5.8 尾递归函数

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