【Scala语言编程_1】Scala基础与HelloWorld

一、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、安装配置

安装包下载地址: https://www.scala-lang.org/download/ 

我们这里使用的版本是: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。下载地址如下:

 http://scala-ide.org/  

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值