scala常用基础语法总结

ywendeng ywendeng     2022-12-06     193

关键词:

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常用基础语法总结:mkstringarraybufferyield的使用

1、Array数组数组声明方式一:vala=newArray[Int](10)注意:数组初始化后,长度就固定下来了,而且元素全部根据其类型初始化数组声明方式二:vals=Array("Scala","Java","Pathon")2、ArrayBuffer//使用A... 查看详情

scala基础语法学习(代码片段)

...9;、变长数组(3)、遍历数组(4)、数组常用操作8、元组 9、映射Map(1)、不可变map(2)、可变Ma 查看详情

大数据学习06scala的基础语法(代码片段)

大数据学习06Scala的基础语法介绍Scala的基础语法文章目录大数据学习06Scala的基础语法前言一、注释二、变量与常量1.基本语法2.代码实操三、标识符的命名规范1.命名规范2.字符串输出3.调试效果四、控制台标准输入1.代码实现2.调... 查看详情

scala函数式编程scala基础语法介绍

...la的一些语法。当然,这里是假设你有一些java或者python的基础,毕竟大部分人不会将scala当作第一门学习编程的语言。不过这些语法知识记不住也没关系,本身语法这种东西就应该在使用中被记住。这里写这篇的目的也只是梳理... 查看详情

scala基础语法

如果你之前是一名Java程序员,并了解Java语言的基础知识,那么你能很快学会Scala的基础语法。Scala与Java的最大区别是:Scala语句末尾的分号;是可选的。我们可以认为Scala程序是对象的集合,通过调用彼此的方法来实现消息传递。... 查看详情

scala基础语法(代码片段)

Scala-HelloWorld目标,在本地启动一个项目,能够输出helloworldhttps://www.scala-lang.org/官网提供的下载安装方式有很多种。推荐IDE:IDEA和VSCode这里我安装了IDEA,就用了它。创建scala文件的时候,提示安装Scala插件,点击安装写完helloworld... 查看详情

mysql基础篇总结(代码片段)

目录一、SQL的语言分类二、MySQL的常用命令三、DQL语句1、基础查询1)语法2)示例2、条件查询1)语法2)筛选条件的分类3、常见函数1)单行函数2)分组函数4、分组查询1)语法2)注意5、连接查询1&... 查看详情

scala基础语法之trait详解(代码片段)

▼Scala系列学习笔记:Scala概述与开发环境配置Scala基础学习之运算符Scala基础学习之for循环和while循环一文掌握scala中的方法和函数Scala基础:类和对象、访问修饰符和构造器Scala的继承和抽象类本章节目标能够使用trait独... 查看详情

scala基础语法(代码片段)

Scala基础1、声明变量packagecn.gec.scalaobjectVariableDemo defmain(args:Array[String])   //使用val定义的变量值是不可变的,相当于java里用final修饰的变量   vali=1   //使用var定义的变量是可变得, 查看详情

scala基础语法(代码片段)

目录1.java语法类比Scala基本语法需要注意以下几点:2声明变量2.1语法格式2.2在解释器中定义一个变量2.3val和var变量2.4使用类型推断来定义变量2.5惰性赋值3字符串3.1使用双引号3.2使用插值表达式3.3使用三引号4数据类型与操作... 查看详情

linux基础:dirname命令总结(代码片段)

blog:https://www.cnblogs.com/Rohn/本文只总结一些常用的用法,更详细的说明见mandirname和direname--help。目录dirname命令语法格式实例dirname命令dirname命令用于获取给定路径的路径部分。语法格式dirname[OPTION]NAME...Shell脚本常用语返回脚本文... 查看详情

javascript的一些基础语法和常用方法(附代码)(代码片段)

文章目录前言一、运行环境二、一些用法1.document.write();console.log()2.for、if、while语句3.字典4.数组与对象5.类型与转换6.生成随机数数组总结前言JavaScript是前端经常要用的脚本语言,用过好多次。还是需要总结一下方便以... 查看详情

spark记录-scala基础语法

如果您熟悉Java语言语法和编程,那么学习Scala将会很容易。Scala和Java之间最大的句法差异在于行结束字符的分号(;)是可选的。当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合。现在我们简单地看一... 查看详情

scala学习——基础语法

Scala语言是一种面向对象语言,结合了命令式(imperative)和函数式(functional)编程风格,其设计理念是创造一种更好地支持组件的语言。 特性多范式(Multi-Paradigm)编程语言,类似Java、C#;继承面向对象编程和函数式编程的... 查看详情

scala基础语法

Scala与Java的最大区别是:Scala语句末尾的分号;是可选的。我们可以认为Scala程序是对象的集合,通过调用彼此的方法来实现消息传递。接下来我们来理解下,类,对象,方法,实例变量的概念:对象- ... 查看详情

js模板引擎-art-template常用总结(代码片段)

art-templatejavascript模板引擎,官网:https://github.com/aui/art-template分为原生语法和简洁语法,本文主要是讲简洁语法基础数据渲染输出HTML流程控制遍历调用自定义函数方法子模板引入基础数据渲染一、引入art-template.js文件<scriptsrc=... 查看详情

算法基础:单链表图解及模板总结

⭐写在前面的话:本系列文章旨在复习算法刷题中常用的基础算法与数据结构,配以详细的图例解释,总结相应的代码模板,同时结合例题以达到最佳的学习效果。本专栏面向算法零基础但有一定的C++基础的学习者。若C++基础不... 查看详情

scala简介及基础语法(代码片段)

...变量SCALA_HOME=E: empscala-2.11.8PATH中加入%SCALA_HOME%in;四、Scala基础语法1)Scala程序的开始HelloWorldobjectHelloWorlddefmain(args:Array[String]):Unit=println("Hello,world!")2)Scala的数据类型Scala与java一样,有8种数值类型:Byte/Char/Short/Int/Long/Float/Double/Bo... 查看详情