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

5.1 函数字面量

函数是一个可执行代码块,它接收输入参数返回一个值。它概念上与数学中的函数相似,它接收输入并返回一个输出。Scala是一个函数式编程语言,它将函数当作一等公民;一个函数可以像一个变量一样...
9.1 数值类型简介-知趣

9.1 数值类型简介

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

3.3 简单模式匹配

Scala中没有提供与Java语言中switch类似的语法,但是提供了一个更加强大的模式匹配功能。模式匹配是一个Scala 概念,它看上去与其它语言中的一个switch 语句很类似。不过,它是一个比switch 语...
7.2 单例对象和伴生对象-知趣

7.2 单例对象和伴生对象

 单例对象在面向对象编程中一个常见的设计模式是定义一个只能被实例化一次的类。一个只能被实例化一次的类叫做“单例(singleton)”。Scala不提供任何静态修饰符,这与构建纯面向对象语言的设计...
4.10 使用for/yield组合创建新集合-知趣

4.10 使用for/yield组合创建新集合

在Scala的for表达式中,可以使用yield关键字来生成新的集合:val nieces = Array('java', 'python', 'scala', 'php')for (n <- nieces) yield n.capitalize​// 使用 for/yield 创建新数组va...
8.4 转义字符、多行字符串及其他-知趣

8.4 转义字符、多行字符串及其他

转义字符在Scala中,也支持如下的转义字符:FF转义字符Unicod编码说明\b\u0008退格(BS),将当前位置移到前一列\t\u0009水平制表(HT),跳到下一个TAB位置\n\u000a换行(LF),将当前位置移到下一行...
3.2 循环结构-知趣

3.2 循环结构

Scala同样提供了对程序流程控制的语法。Scala中的程序流程控制结构虽然与Java类似,但也有自己的一些独特的方法。循环结构经常地,我们需要遍历集合中的元素,或者对集合中的每个元素进行操作,...
7.1 类和构造函数-知趣

7.1 类和构造函数

类是一个面向对象编程概念,提供了一个高级编程抽象。从本质上来说,类是代码组织技术,将数据和所有数据的操作绑定在一起。从概念上来说,类代表一个属性和行为的实体。类是在运行时创建对象的...
4.9 Scala集合类上的高阶方法-知趣

4.9 Scala集合类上的高阶方法

Scala集合的真正强大之处在于带来了其高阶方法。一个高阶方法使用一个函数作为其输入参数。需要特别注意的是,一个高阶方法并不改变集合。下面是Scala集合的一些最主要的高阶方法。1、mapScala ...
8.3 使用正则表达式处理字符串-知趣

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

字符串中正则表达式模式匹配通过在String上调用.r方法来创建一个scala.util.matching.Regex对象,然后在findFirstIn中使用该模式来查找一个匹配,在findAllIn中使用该模式来查找所有的匹配。  ...
3.1 选择结构-知趣

3.1 选择结构

Scala同样提供了对程序流程控制的语法。Scala中的程序流程控制结构虽然与Java类似,但也有自己的一些独特的方法。选择结构Scala的if/else语法结构和Java或者C++一样。不过,在Scala中if/else表...
6.1 Scala函数式编程-知趣

6.1 Scala函数式编程

尽管Scala是一种混合的面向对象和函数式编程语言,但它强调函数式编程。这就是为什么它是一种强大的语言。如果将Scala作为一种函数式编程语言使用,而不只是把它当作另一种面向对象编程语言来使...
4.8 Scala集合:Option-知趣

4.8 Scala集合:Option

在Scala中,Option[T]是给定类型的0或1个元素的容器。Option 是一个数据类型,用来表明一些数据的“有”或“无”,可以是Some[T]或None[T],其中T可以是任何给定类型。一个Some 实例可以存储任...
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注解,这将指示编译器应用任何进一步的优化。如何定义尾递归函数?在下面的示例中,我们定义一个...