scala初步

Posted 这么些年的技术总结

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala初步相关的知识,希望对你有一定的参考价值。

scala 简介

Scala是一门多范式的编程语言,一种类似JAVA的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象和函数式编程的各种特性。其实,编程语言界都在寻找或者说是试图开发一种语言,这种语言类似于人说话一样,高度的抽象,易于理解,写出来的代码就想人在叙述怎么解决问题一样简单明了。

Scala语言源自瑞士洛桑联邦理工学院,由奥德斯基教授2001年带领小组致力于Scala语言、标准库和编译器的开发。这里透露一个小花絮,奥德斯基教授创建Scala语言的一个主要原因是不满Java语言相对复杂的语法。

固然Java 8为Java阵营增添了一丝亮色,却是望眼欲穿,千呼万唤始出来。而Scala程序员,却早就在享受lambda、高阶函数、trait、隐式转换等带来的福利了。

Java像是一头史前巨兽,它在OO的方向上几乎走到了极致,硬将它拉入FP阵营,确乎有些强人所难了。而Scala则不,因为它的诞生就是OO与FP的混血儿——完美的基因融合。

“Object-Oriented Meets Functional”,这是Scala语言官方网站上飘扬的旗帜。这也是Scala的野心,当然,也是Martin Odersky的雄心。

Scala语言最直接的好处是兼容Java,这就意味着可以无缝使用所有Java的类库和框架。Scala程序会被编译成JVM可执行的字节码。Scala虽然是静态语言,但Scala支持函数式编程和类型推断(Type Inference),它的哲学是结合面向对象和面向过程并保证代码的简洁。

Scala开发环境配置

• jdk官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
scala依赖jdk,所以在安装使用scala之前需要先安装jdk,然后配置java的环境变量,建议使用j  
• scala官网下载地址:http://www.scala-lang.org/
下载scala的安装包,解压,将安装路径加入环境变量.
到此scala的开发环境搭建完毕,就这么简单
• intellij idea官网下载地址https://www.jetbrains.com/idea/
集成开发工具 intellij idea
• SBT官网下载地址:http://www.scala-sbt.org/
项目管理工具SBT
• Git官网下载地址:https://git-scm.com/downloads
版本控制工具Git
• PLAY框架官网下载地址:https://www.playframework.com/
MVC框架
• GitK:可视化的版本管理工具
chenshang@bogon:/usr/local/bin$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
chenshang@bogon:/usr/local/bin$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL
chenshang@bogon:/usr/local/bin$ play
       _
 _ __ | | __ _ _  _
| '_ \| |/ _' | || |
|  __/|_|\____|\__ /
|_|            |__/

play 2.2.6 built with Scala 2.10.3 (running Java 1.8.0_91), http://www.playframework.com

This is not a play application!

Use `play new` to create a new Play application in the current directory,
or go to an existing application and launch the development console using `play`.

You can also browse the complete documentation at http://www.playframework.com.

chenshang@bogon:/usr/local/bin$ git --version
git version 2.8.1
chenshang@bogon:/usr/local/bin$

进入scala解释器环境

有多种方法进入 scala 的解释器环境,你也可以用 IDE 工具进行实验,这里有一个概念 REPL (读、计算、打印、循环),其实就代指一个解释环境,一般就是终端的命令行工具

  1. 直接输入scala

  2. 输入sbt console

chenshang@bogon:/usr/local/bin$ scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_91).
Type in expressions for evaluation. Or try :help.

scala>
scala> :q
chenshang@bogon:/usr/local/bin$ sbt console
[info] Set current project to bin (in build file:/usr/local/bin/)
[info] Starting scala interpreter...
[info]
Welcome to Scala version 2.10.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_91).
Type in expressions to have them evaluated.
Type :help for more information.

scala>
scala> :q

[success] Total time: 7 s, completed 2016-7-12 15:54:56
chenshang@bogon:/usr/local/bin$

REPL的简单使用

chenshang@bogon:~$ sbt console
[info] Set current project to chenshang (in build file:/Users/chenshang/)
[info] Starting scala interpreter...
[info] Welcome to Scala version 2.10.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_91).
Type in expressions to have them evaluated.
Type :help for more information.

scala> 1+1
res0: Int = 2

scala> res0
res1: Int = 2

scala> val name:String="Frank"
name: String = Frank

scala> def say(name:String):String={println(name)}
<console>:8: error: type mismatch;
 found   : Unit
 required: String
       def say(name:String):String={println(name)}
                                           ^

scala> def say(name:String):String={println(name),name}
<console>:1: error: ';' expected but ',' found.
       def say(name:String):String={println(name),name}
                                                 ^

scala> def say(name:String):String={println(name);name}
say: (name: String)String

scala> def say01(name:String):Unit={
     |   println(s"my name is ${name}")
     | }
say01: (name: String)Unit

scala> say(name)
Frank
res2: String = Frank

scala> say01(name)
my name is Frank
chenshang@bogon:~$

Scala 安装

方式一:
1.访问scala的官网这里下载最新版的scala。
2.解压缩文件包,可将其移动至/usr/local/share下
mv /download/scala /usr/local/share
3.修改环境变量,在mac下使用sudo su进入管理员权限,修改配置文件profile,
vim /etc/profile
在文件的末尾加入
export PATH="$PATH:/usr/local/share/scala/bin"
:wq! 保存退出
source .basrc 应用环境变量,或重启终端,scala的环境配置完成
方式二:
用 brew 进行安装,brew install scala 即可,用 brew 安装工具安装 scala 的安装路径在 /usr/local/bin/scala

以上是关于scala初步的主要内容,如果未能解决你的问题,请参考以下文章

scala初步

Scala初步(基础篇)

Scala函数式编程初步(高阶函数)

Scala IDE for Eclipse的下载安装和WordCount的初步使用

Sbt的使用初步和用sbt插件生成eclipse工程

为什么Scala是可扩展的?