Scala常用基础语法总结

Posted ywendeng

tags:

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

1、在spark 中如果没有为一个表达声明变量,默认为res。比如:

scala> 1+1
res0: Int = 2

在实际开发中你常会看到如下代码

Try(............) match 
          case Success(res) =>
            res
          case Failure(e) =>
            logger.error(s"line#$line.mkString("#")")
            e.printStackTrace()
            null
        

2、 声明变量时使用var 和val 的区别
·声明val变量:可以声明val变量来存放表达式的计算结果。
·例如,val sum = 1 + 1
·后续这些常量是可以继续使用的,例如,2 * sum
·但是常量声明后,是无法改变它的值的,例如,sum = 1,会返回error: reassignment to val的错误信息。
·声明var变量:如果要声明值可以改变的引用,可以使用var变量。
·例如,val result = 1,result = 2
·但是在scala程序中,通常建议使用val,也就是常量,因此比如类似于spark的大型复杂系统中,需要大量的网络传输数据,如果使用var,可能会担心值被错误的更改。
·在Java的大型复杂系统的设计和开发中,也使用了类似的特性,我们通常会将传递给其他模块 / 组件 / 服务的对象,设计成不可变类(Immutable Class)。在里面也会使用java的常量定义,比如final,阻止变量的值被改变。从而提高系统的健壮性(robust,鲁棒性),和安全性。

3、 基本数据类型:Byte、Char、Short、Int、Long、Float、Double、Boolean。
注意在中scala没有基本数据类型与包装类型的概念,统一都是类。scala自己会负责基本数据类型和引用类型的转换操作。
·使用以上类型,直接就可以调用大量的函数,例如,1.toString(),1.to(10)。

4、scala中没有提供++、–操作符,我们只能使用+和-,比如counter = 1,counter++是错误的,必须写做counter += 1.

5、apply函数
·Scala中的apply函数是非常特殊的一种函数,在Scala的object中,可以声明apply函数。而使用“类名()”的形式,其实就是“类名.apply()”的一种缩写。通常使用这种方式来构造类的对象,而不是使用“new 类名()”的方式。
·例如,”Hello World”(6),因为在StringOps类中有def apply(n: Int): Char的函数定义,所以”Hello World”(6),实际上是”Hello World”.apply(6)的缩写。
·例如,Array(1, 2, 3, 4),实际上是用Array object的apply()函数来创建Array类的实例,也就是一个数组。

以上是关于Scala常用基础语法总结的主要内容,如果未能解决你的问题,请参考以下文章

scala 常用基础语法总结:mkString ArrayBufferyield 的使用

2021年大数据常用语言Scala:基础语法学习 声明变量

2021年大数据常用语言Scala:基础语法学习 循环

2021年大数据常用语言Scala(十三):基础语法学习 函数 重点掌握

2021年大数据常用语言Scala(十六):基础语法学习 列表 List 重点掌握

2021年大数据常用语言Scala:基础语法学习 条件表达式