Scala 创建程序文件

Scala 是一门类 Java 的编程语言,它结合了面向对象编程和函数式编程。Scala 是
纯面向对象的,每个值都是一个对象,对象的类型和行为由类定义,不同的类可以通过混
入(mixin)的方式组合在一起。


Scala 的设计目的是要和两种主流面向对象编程语言
Java 和 C#实现无缝互操作,这两种主流语言都非纯面向对象。


Scala 也是一门函数式变成语言,每个函数都是一个值,原生支持嵌套函数定义和高
阶函数。Scala 也支持一种通用形式的模式匹配,模式匹配用来操作代数式类型,在很多
函数式语言中都有实现。


Scala 被设计用来和 Java 无缝互操作(另一个修改的 Scala 实现可以工作在.NET
上)。Scala 类可以调用 Java 方法,创建 Java 对象,继承 Java 类和实现 Java 接口。
这些都不需要额外的接口定义或者胶合代码。

前言

我相信大多数接触scala的工程师,都是因为接触到了大数据技术栈,而被迫去学习scala的。scala这门语言完全可以理解成因为其开源项目的火爆,而将这门语言带到了大众的视野,例如计算框架Spark,消息队列Kafka, akka,使用Scala编写Spark程序真的是太便利了,简洁的函数编程让你欲罢不能,那么从另一方面来说,如果有一天,Spark被大数据技术栈淘汰了,那么Scala对于大数据工程师还是硬需求么?从现在来看,异军突起的Flink实时计算框架也是支持Scala的,同样相对于Java和python来说,Scala都有独特迷人的地方。

创建文件


对于有其他语言基础的工程师来讲,新学一门语言并不难,那么这里我就先写一些简明扼要的,工程师看完就可以直接创建文件,编写hello word就可以运行的。


首先,我假定你已经配置好了scala的环境,编译器IDEA也已经配置完毕了,在选择好的目录中可以创建Scala文件了,如下图,我们该怎么选择呢?


屏幕快照 2020-04-07 下午10.48.50.png




简单的来说:


类class里无static类型,类里的属性和方法,必须通过new出来的对象来调用,所以有main主函数也没用。


而object的特点是:

  • 可以拥有属性和方法,且默认都是”static”类型,可以直接用object名直接调用属性和方法,不需要通过new出来的对象(也不支持)。
  • object里的main函数式应用程序的入口。
  • object和class有很多和class相同的地方,可以extends父类或Trait,但object不可以extends object,即object无法作为父类。


Scala的Trait相当于Java里的Interface


根据上面的红字,我们也可以知道,如果想创建文件,并且运行文件,我们需要选择Object来写main()函数


main函数怎么写呢?

1
def main(args: Array[String]) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分。


打印 hello word

1
2
3
4
5
object helloword {
def main(args: Array[String]): Unit = {
println("hello word")
}
}


假如现在你对scala其他语法一无所知的情况下,你懂的了怎么创建文件,怎么去定义main()函数,还有和其他语言差不太多的打印函数 println(‘’),就完成了编程语言第一课,HelloWorld


这里有几个需要记住的点

  1. scala语言,每行语句后,不用 ; 结尾,java中需要使用 ;号结尾,python和scala一样,不需要分号。但是如果你想如果一行里写多个语句那么分号是需要的。例如

    val s = “哈哈哈”; println(s)

  2. Scala 使用 import 关键字引用包