1.初识scala

发布时间:2020-07-08 14:02:17 作者:菲立思教育
来源:网络 阅读:342

简介

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

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

1.初识scala

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

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

特性

面向对象

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

函数式编程

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

静态类型

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

扩展性

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

并发性

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

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

编程方式

交互式编程

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

$ scala
Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_31).
Type in expressions to have them evaluated.
Type :help for more information.

scala> 1 + 1
res0: Int = 2

scala> println("Hello World!")
Hello World!

scala> 

脚本形式

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

object HelloWorld {
   /* 这是我的第一个 Scala 程序
    * 以下程序将输出'Hello World!' 
    */
   def main(args: Array[String]) {
      println("Hello, world!") // 输出 Hello World
   }
}

接下来我们使用 scalac 命令编译它:

$ scalac HelloWorld.scala 
$ ls
HelloWorld$.class    HelloWorld.scala
HelloWorld.class 

使用以下命令来执行程序

$ scala HelloWorld
Hello, world!

基本语法

关键字

1.初识scala

注释

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

object HelloWorld {
   /* 这是一个 Scala 程序
    * 这是一行注释
    * 这里演示了多行注释
    */
   def main(args: Array[String]) {
      // 输出 Hello World
      // 这是一个单行注释
      println("Hello, world!") 
   }
}

变量

  Scala中,使用关键词"var"声明变量,使用关键词 "val"声明常量。

val myVar : String = "Foo"
var myVar : String = "Too"

  在 Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。

  所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。

var myVar = 10;
val myVal = "Hello, Scala!";

声明多个变量

// xmax, ymax都声明为100
val xmax, ymax = 100  
推荐阅读:
  1. 初识UNIX
  2. puppet 初识

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

scala 面向对象 函数式编程

上一篇:go语言并发编程

下一篇:MapReduce原理介绍

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》