博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Scala语言编程_1】Scala基础与HelloWorld
阅读量:4488 次
发布时间:2019-06-08

本文共 2172 字,大约阅读时间需要 7 分钟。

一、Scala基础与简介

1、多范式:支持面向对象、支持函数式编程

2、底层依赖JVM(后面会看到,很多异常是基于java的异常)

(以下废话来源网络)

Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在Java虚拟机上,并兼容现有的Java程序。Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。

 Scala 特性

  • 面向对象特性

Scala是一种纯面向对象的语言,每个值都是对象。对象的数据类型以及行为由类和特质描述。

类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。

  • 函数式编程

Scala也是一种函数式语言,其函数也能当成值来使用。Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。Scala的case class及其内置的模式匹配相当于函数式编程语言中常用的代数类型。

更进一步,程序员可以利用Scala的模式匹配,编写类似正则表达式的代码处理XML数据。

  • 静态类型

  Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。类型系统具体支持以下特性:

    泛型类
    协变和逆变
    标注
    类型参数的上下限约束
    把类别和抽象类型作为对象成员
    复合类型
    引用自己时显式指定类型
    视图
    多态方法

  • 扩展性

  Scala的设计秉承一项事实,即在实践中,某个领域特定的应用程序开发往往需要特定于该领域的语言扩展。Scala提供了许多独特的语言机制,可以以库的形式轻易无缝添加新的语言结构:

    任何方法可用作前缀或后缀操作符
    可以根据预期类型自动构造闭包。

  • 并发性

Scala使用Actor作为其并发模型,Actor是类似线程的实体,通过邮箱发收消息。Actor可以复用线程,因此可以在程序中可以使用数百万个Actor,而线程只能创建数千个。在2.10之后的版本中,使用Akka作为其默认Actor实现。

  • 谁使用了 Scala

  2009年4月,Twitter宣布他们已经把大部分后端程序从Ruby迁移到Scala,其余部分也打算要迁移。

  此外,Wattzon已经公开宣称,其整个平台都已经是基于Scala基础设施编写的。
  瑞银集团把Scala用于一般产品中。
  Coursera把Scala作为服务器语言使用。

二、安装配置Scala、常用的开发工具

1、安装配置

安装包下载地址:

我们这里使用的版本是:2.11.8版本跟后面介绍的Spark的版本一致(spark-2.1.0-bin-hadoop2.7.tgz)

scala-2.11.8.zip(Windows)

scala-2.11.8.tgz(Linux)
以windows为例:类似JDK的安装

(0)Windows安装并配置JDK1.8(省略)

(1)解压并安装Scala到: D:\Developer\Scala 并下一步默认安装即可)

(2)设置系统变量:SCALA_HOME=》D:\Developer\Scala

(3)系统变量PATH添加:%SCALA_HOME%/bin

(4)CMD执行: scala -version

 【注意】也有的教程会让设置系统classpath变量,这里不设置也可以使用。如果出现问题,可以尝试编辑系统classpath变量,在最后添加如下信息:

1.设置 SCALA_HOME 变量,同上;

2.设置 Path 变量:只需要设置%SCALA_HOME%\bin;即可

3.设置 Classpath 变量:"变量值":.;%SCALA_HOME%\bin;即可

 

2、常用开发工具

(1)REPL:命令行

CMD输入scala,就进入了REPL命令行界面,类似python的IDLE

退出: :quit

(2)IDEA: 默认没有Scala环境,安装插件SBT(需要联网)

  • 1.安装IDEA专业版或者社区版(略)
  • 2.启动IDEA-configuration-plugins

搜索scala 在repositories里面找到Scala,并安装(速度略慢,耐心等待)后重启

  • 3.重新启动IDEA-新建工程

 新建Scala工程选择SBT

设置SBT,Scala的版本,建议值参考下面。工程路径和名称任意。

第一次创建Scala的过程过程很慢,需要等待IDEA右下角的任务执行完毕后再创建package和sc。

在src-main-scala目录下右键新建package。

 

新建package后,在package下面创建scala worksheet(类似于IDLE,REPL命令行)

 

 

(3)Scala IDE:就是Eclipse

Scala IDE也是常用的scala开发工具,基于eclipse。类似java开发的STS。下载地址如下:

 

下一篇文章介绍ScalaIDE编写代码

转载于:https://www.cnblogs.com/forfreewill/articles/9116624.html

你可能感兴趣的文章
python接口自动化测试二十五:执行所有用例,并生成HTML测试报告
查看>>
c# 指定的存储区提供程序在配置中找不到,或者无效
查看>>
第1周小组博客作业--1703班06组
查看>>
C语言指针
查看>>
Java的安装
查看>>
0920 JSON数据 蓝懿
查看>>
Azure Cosmos DB 使用费用参考
查看>>
C# 子线程与主线程通讯方法一
查看>>
谷歌搜索语法
查看>>
static 静态变量
查看>>
Docker 安装及问题处理
查看>>
匿名内部类
查看>>
BZOJ4071: [APIO2015]八邻旁之桥
查看>>
Redis的六种特性 场景
查看>>
mysql 添加[取消]timestamp的自动更新
查看>>
码农的半衰期只有15年?
查看>>
手工释放linux内存
查看>>
2014-5-30 总结
查看>>
【H3 BPM工作流程管理产品小故事】第四篇 子表创建
查看>>
洛谷P1148 拱猪计分
查看>>