1 .初识scala

  

简介

  

    Scala (Scala语言的简称)语言是一种能够运行于JVM和。net平台之上的通用编程语言,既可用于大规模应用程序开发,也可用于脚本编程。

  

    Scala由马丁Odersk于2001年开发,2004年开始程序运行在JVM与。净平台之上,由于其简洁,优雅,类型安全的编程模式而受到关注。

  

 1。初识scala

  

   在Scala的创建之初,并没有怎么引起重视。随着Apache火花和Apache卡夫卡这样基于Scala的大数据框架的崛起,Scala逐步映入大数据从业者的眼帘. Scala的拥护者们认为Scala的主要优势是速度和它的表达性。

  

  &emsp目前使用scala的作为支撑公司开发语言的包括Foursquare和Twitter.2009年Twitter把大部分后台系统的开发语言从Ruby换成了scala。

  

特性

  

面向对象

  

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

  

函数式编程

  

    Scala是一种函数式语言,其函数也能当成值来使用. Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。

  

静态类型

  

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

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

扩展性

  

    Scala提供了许多独特的语言机制,可以以库的形式轻易无缝添加新的语言结构:

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

并发性

  

    Scala使用演员作为其并发模型,演员是类似线程的实体,通过邮箱发收消息。

  

   演员可以复用线程,因此可以在程序中可以使用数百万个演员,而线程只能创建数千个。在2.10之后的版本中,使用Akka作为其默认演员实现。

  

编程方式

  

交互式编程

  

  &emsp交互式编程不需要创建脚本文件,可以通过以下命令调用。

  
 <代码> scala美元
  欢迎来到2.11.7 Scala版本(Java HotSpot (TM) 64位服务器虚拟机,Java 1.8.0_31)。
  输入表达式计算。
  类型:帮助的更多信息。
  
  scala>1 + 1
  res0: Int=2
  
  scala>println (“Hello World !”)
  你好世界!
  
  scala> 
  

脚本形式

  

 创建一个HelloWorld。scala的文件来执行代码

  
 <代码>对象HelloWorld {/*这是我的第一个Scala程序
  *以下程序将输出“Hello World !”
  */def主要(args:数组(String)) {
  println (“Hello, world !”)//输出Hello world
  }
  } 
  

接下来我们使用的那个命令编译它:

  
 <代码>美元那个HelloWorld.scala
  $ ls
  HelloWorld美元。类HelloWorld.scala
  HelloWorld。类 之前
  

使用以下命令来执行程序

  
 <代码>美元scala HelloWorld
  你好,世界!  
  

基本语法

  
      <李>   

    区分大小写的:Scala是大小写敏感的,这意味着标识你好和你好在Scala中会有不同的含义。

      李   <李>   

    类名:对于所有的类名的第一个字母要大写。如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。示例:类MyFirstScalaClass

      李   <李>   

    方法名称:所有的方法名称的第一个字母用小写。如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。示例:def myMethodName ()

      李   <李> def主要(args:数组[String]): Scala程序从主要()方法开始处理,这是每一个Scala程序的强制程序入口部分。   
  

关键字

  

 1。初识scala

  

注释

  

    Scala类似Java支持单行和多行注释。多行注释可以嵌套,但必须正确嵌套,一个注释开始符号对应一个结束符号。注释在Scala编译中会被忽略,实例如下:

1 .初识scala