栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Scala 初识+环境搭建

Scala 初识+环境搭建

1. Scala 1.1 Scala 是什么

Scala是一门现代的多范式语言,志在以简洁、优雅及类型安全的方式来表达常用的编程模型。它平滑地集成了面向对象和函数式语言的特性。

1.2 Scala 面对对象

Scala 是一种纯面向对象的语言,每个值都相当于对象。对象的类型和行为是由特质来描述的。

类抽象机制的扩展有两种途径:

  1. 子类继承
  2. 基于混入(mixin)的组合机制
1.3 Scala 函数式编程

Scala 是一种函数式语言,每个函数相当于值。Scala 为定义匿名函数提供了轻量级的语法,支持高阶函数,允许函数嵌套及柯里化。Scala 的 case class 及其内置的模式匹配相当于函数式编程语言种常用的代数类型。对于那些非类的成员函数,单例对象提供了便捷的组织方式。

通过提取器的进一步扩展,Scala 的模式匹配概念使用了 right-igoring 序列模式,能够正则表示的方式处理处理 XML 数据。

1.4 Scala 静态类型

Scala 配备了强大表达能力的类型系统,它可以静态的强制以安全、一致的方式使用抽象。

类型系统支持: 泛型类、泛型注解、上/下类型边界、作为对象成员的内部类和抽象类型、复合类型、显示类型的自我引用、隐式参数和隐式转化、多态方法。

类型推断让用户不需要标明额外的类型信息。这些特性结合起来为安全可重用的编程抽象以及类型安全的扩展提供了强大的基础。

1.5 Scala 可扩展

Scala 提供了一种语言机制的独特组合方式,使得可以方便的以库的形式添加新的语言结构。

很多场景下,这些扩展可以不通过类似宏(macros)的元编辑工具完成,例如:

  • 隐式类:允许给已有的类型添加扩展方法
  • 字符串插值:可以让用户使用自定义的插值器进行扩展
1.6 Scala 互操作性

Scala 设计的目标式与流行的 Java 运行环境(JRE)进行良好的互操作,特别是与主流的面对对象编程语言–Java 的互操作尽可能地平滑。

Java的最新特性如函数接口(SAMs)、lambda表达式、注解及泛型在 Scala 中都有类似的是实现。

另外,Scala 中也包含 Java 中没有的特性,如缺省参数值和带明参数等。

Scala 拥有类似 Java 的编译模型(独立编译、动态类加载),且允许使用已有的成千上万的高质量类库。

1.7 Scala - Java

Scala 与 Java 等众多的 JVM 预览的共通之处,使用专门的编译器(Compiler)将源代码编译成字节码(Bytecode)文件,并最终使用 JVM(Java Virtual Machine)执行程序,所以具有和 Java 相同的优良移植性。

2. 环境搭建

版本说明:

JDK:1.8

IDEA:2021.2.2

⚠️ 安装 Scala 之前,需要先安装 JDK!

2.1 安装 Scala

 官网链接:https://www.scala-lang.org/

 版本说明:Scala的当前流行版本以 2.11.x , 2.12.x

2.1.1 下载 Scala

2.1.2 Scala 安装

双击下载的安装包,一路next,傻瓜式安装,过程中可以自定义安装路径!

2.1.3 配置环境变量

右键我的电脑 -> 高级系统设置 -> 环境变量

修改 PATH,配置为 Scala 的 bin 目录:

2.1.4 安装测试

在 cmd 中,输入 scala:

2.2 Scala 的 IDEA 程序开发 2.2.1 下载 Scala 插件

2.2.2 创建空的 maven 工程

2.2.2-1 创键子模块

此步可省略

2.2.3 创建 Scala 源代码目录

2.2.4 标记为源码目录

如果新建的目录为灰色,可将其标记为源码目录

2.2.5 添加 Scala SDK 全局库

 如果没有 SDK,可以点击 Download,下载对应版本的 SDK!

2.2.6 创建HelloWorld单例对象

2.2.7 编写 HelloWorld
object HelloWorld {
    def main(args: Array[String]): Unit = {
        println("Hello World!")
    }
}
2.2.8 运行测试

 


❤️ END ❤️
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613055.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号