📝 Scala教程
81篇技术文档📅  最后修改于: 2020-11-02 04:47:22        🧑  作者: Mango
Scala具有丰富的集合库集。集合是事物的容器。这些容器可以是有序列的线性项目集,例如List,Tuple,Option,Map等。这些集合可以具有任意数量的元素,也可以限制为零或一个元素(例如Option)。收藏可能是严格的也可能是懒惰的。惰性集合的元素在访问之前可能不会消耗内存,例如Ranges。此外,集合可能是可变的(引用的内容可以更改)或不可变的(引用所引用的内容永远不会更改)。请注意,不...
📅  最后修改于: 2020-11-02 04:47:52        🧑  作者: Mango
特征封装了方法和字段定义,然后可以通过将它们混合到类中来重用它们。与类继承(每个类只能从一个超类继承)不同,一个类可以混合任意数量的特征。特性用于通过指定所支持方法的签名来定义对象类型。 Scala还允许部分实现特征,但是特征可能没有构造函数参数。特征定义看起来像类定义,只是它使用关键字trait。以下是trait的基本示例语法。句法此特征包含两个方法isEqual和isNotEqual。在这里,...
📅  最后修改于: 2020-11-02 04:48:16        🧑  作者: Mango
在函数值和闭包之后,模式匹配是Scala第二广泛使用的功能。 Scala在处理消息时为模式匹配提供了强大的支持。模式匹配包括一系列备选方案,每种备选方案均以关键字case开头。每个备选方案都包含一个模式和一个或多个表达式,如果模式匹配,则将对其进行评估。箭头符号=>将模式与表达式分开。尝试下面的示例程序,该程序显示如何与整数值匹配。例将以上程序保存在Demo.scala中。以下命令用于编译和执行该...
📅  最后修改于: 2020-11-02 04:48:56        🧑  作者: Mango
本章说明Scala如何通过scala.util.matching包中提供的Regex类支持正则表达式。尝试下面的示例程序,我们将尝试从语句中找出单词Scala。例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令输出我们创建一个String并在其上调用r()方法。 Scala隐式地将String转换为RichString并调用该方法以获取Regex的实例。要查找正则表达式的...
📅  最后修改于: 2020-11-02 04:49:16        🧑  作者: Mango
Scala的异常与Java之类的许多其他语言中的异常一样工作。代替以常规方式返回值,方法可以通过引发异常来终止。但是,Scala实际上没有检查过的异常。当您要处理异常时,可以像在Java中一样使用try {…} catch {…}块,只是catch块使用匹配来识别和处理异常。抛出异常引发异常看起来与Java中相同。创建一个异常对象,然后使用throw关键字将其抛出,如下所示。捕捉异常Scala允许...
📅  最后修改于: 2020-11-02 04:49:42        🧑  作者: Mango
Scala中的提取器是一个对象,该对象具有称为unapply的方法作为其成员之一。该不适用方法的目的是匹配值并将其拆开。通常,提取器对象还定义了适用于构建值的对偶方法,但这不是必需的。例让我们以对象定义的示例为例,定义apply方法和unapply方法。 apply方法的含义一如既往:将Test变成一个对象,该对象可以像应用方法一样应用于括号中的参数。因此,您可以编写Test(“ Zara”,“ ...
📅  最后修改于: 2020-11-02 04:50:04        🧑  作者: Mango
Scala开放使用任何Java对象,而java.io.File是可在Scala编程中用于读取和写入文件的对象之一。以下是写入文件的示例程序。例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令它将在放置程序的当前目录中创建一个名为Demo.txt的文件。以下是该文件的内容。输出从命令行读取一行有时您需要从屏幕上读取用户输入,然后继续进行一些进一步的处理。以下示例程序显示了如...
📅  最后修改于: 2020-11-02 04:50:26        🧑  作者: Mango
以下资源包含有关Scala的其他信息。请使用它们来获得有关该主题的更深入的知识。Scala上的有用链接Scala编程语言-开始使用Scala编写程序所需的所有信息!包含手册,Scala浏览,有关可用的Scala书籍的信息,许多指南和有用的文档资源。标准scaladoc Scala API-浏览使用我们的标准scaladoc工具生成的在线API文档。的JavaTM2 SDK,标准版-官方网站的Jav...
📅  最后修改于: 2020-11-02 04:50:38        🧑  作者: Mango
Scala是一种现代的多范式编程语言,旨在以简洁,优雅且类型安全的方式表达常见的编程模式。 Scala由Martin Odersky创建,他于2003年发布了第一个版本。Scala平稳地集成了面向对象和功能语言的功能。本教程以简单易懂的方式介绍了Scala的基础。...
📅  最后修改于: 2021-01-09 11:18:45        🧑  作者: Mango
斯卡拉的历史Scala是一种通用的编程语言。它是由Martin Odersky创建和开发的。 Martin于2001年开始在洛桑联邦理工学院(EPFL)从事Scala的研究。它于2004年1月20日正式发布。Scala不是Java的扩展,但是可以与它完全互操作。编译时,Scala文件转换为Java字节码并在JVM(Java虚拟机)上运行。Scala被设计为既面向对象又具有功能。从每个值都是对象的意...
📅  最后修改于: 2021-01-09 11:19:43        🧑  作者: Mango
Scala的功能scala具有以下功能:类型推断单例对象不变性惰性计算案例类别和模式匹配并发控制字符串插值高阶函数特质丰富的收藏集类型推断在Scala中,您不需要明确提及数据类型和函数返回类型。 Scala足够聪明,可以推断出数据类型。的函数的返回类型由最后存在于函数表达的类型来确定。单例对象在Scala中,没有静态变量或方法。 Scala使用单例对象,该对象本质上是类,在源文件中只有一个对象。通...
📅  最后修改于: 2021-01-09 11:20:41        🧑  作者: Mango
Scala的简单程序在本教程中,您将学习如何编写scala程序。要编写scala程序,您需要在计算机上安装scala。您必须在计算机上安装最新的jdk,因为scala编译器会创建.class文件,这是字节码。 Scala解释器通过使用jvm(Java虚拟机)执行此字节代码。Scala示例:Hello Scala以下代码示例是一个简单的scala程序。在上面的代码中,我们创建了一个对象ScalaEx...
📅  最后修改于: 2021-01-09 11:33:59        🧑  作者: Mango
Scala条件表达式Scala提供if语句来测试条件表达式。它测试布尔条件表达式,该条件表达式可以为true或false。 Scala使用各种类型的if else语句。如果声明If-else语句嵌套if-else语句if-else-if梯形图语句Scala if语句scala if语句用于测试scala中的条件。如果仅在条件为true时执行if块,否则将跳过if块的执行。句法流程图Scala示例:...
📅  最后修改于: 2021-01-09 11:34:51        🧑  作者: Mango
Scala模式匹配模式匹配是scala的功能。它与其他编程语言中的开关盒相同。它与模式中可用的最佳情况相匹配。让我们来看一个例子。Scala模式匹配示例在上面的示例中,我们实现了模式匹配。在这里,使用名为<i>的</i>变量进行匹配。此变量与最佳情况匹配,并输出输出。在下一种情况下使用下划线(_)使其成为默认情况。输出:匹配表达式也可以返回大小写值。在下一个示例中,我们将定义与个案匹配的方法,以匹...
📅  最后修改于: 2021-01-09 11:35:47        🧑  作者: Mango
Scala while循环在Scala中,while循环用于迭代代码直到指定条件。它测试布尔表达式并一次又一次地迭代。如果您不知道迭代次数,建议使用while循环。句法流程图:Scala while循环示例输出:Scala无限While循环示例您还可以创建一个无限的while循环。在下面的程序中,我们在while循环中<i>传递了true。</i>使用无限循环时要小心。输出:Scala do-wh...