加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala变量

发布时间:2020-12-16 09:30:48 所属栏目:安全 来源:网络整理
导读:变量是只不过是保留内存位置来存储值。这意味着,当创建一个变量,会在内存中保留一些空间。 基于变量的数据类型,所述编译器分配存储器,并决定什么可以被存储在保留存储器。因此,通过分配不同的数据类型的变量,可以存储整数,小数,或字符在这些变量。

变量是只不过是保留内存位置来存储值。这意味着,当创建一个变量,会在内存中保留一些空间。

基于变量的数据类型,所述编译器分配存储器,并决定什么可以被存储在保留存储器。因此,通过分配不同的数据类型的变量,可以存储整数,小数,或字符在这些变量。

变量声明

Scala有两种变量,val和var。val类似于Java里的final变量。一旦初始化了,val就不能再被赋值。相反,var如同Java里面的非final变量,可以在它的生命周期中被多次赋值。

即,常量或变量。

下面是使用var关键字来定义一个变量的语法:

scala> var myVar : String = "Foo"
myVar: String = Foo

scala>

?

在这里,myVar使用关键字var声明。这意味着它是一个可以改变值的变量,被称为可变变量。下面是使用val关键字来定义变量的语法:

scala> val msg = "hello world"
msg: String = hello world

scala>

?

这里,myVal是使用关键字val声明。这意味着,它是不能改变的变量,这是所谓的不可变变量

scala> var myVar : String = "Foo"
myVar: String = Foo

scala>

scala> myVar = "duan"
myVar: String = duan

scala> val msg = "hello world"
msg: String = hello world

scala> msg = "duan"
<console>:12: error: reassignment to val
       msg = "duan"
           ^

scala>

?

变量数据类型:

变量类型在变量名后面指定,前在equals之前签署。可以通过它的数据类型定义任何类型的Scala变量如下:

val or val VariableName : DataType [= Initial Value]

如果不指定任何初始值变量,那么如下所示它是有效的:

var myVar :Int; val myVal :String;

变量类型推断:

当分配一个初始值给一个变量,Scala编译器可以计算出根据分配给它的值的变量类型。这就是所谓的变量类型推断。因此,可以写这些变量的声明如下这样:

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

在这里,默认情况下,myVar是int类型,将设为myVal为字符串类型变量。

多重任务:

Scala支持多任务。如果一个代码块或方法返回一个元组,该元组可被分配给一个val变量。 [注:元组在以后的章节中学习。]

?
?
val (myVar1: Int, myVar2: String) = Pair(40, "Foo")

类型推断得到正确类型:

val (myVar1, myVar2) = Pair(40, "Foo")

变量类型:

Scala变量可以有三种不同的范围,这取决于它们正在使用的地方。它们可以存在于字段,方法参数和局部变量。下面是关于每种类型的适用范围的详细信息:

字段:

字段是属于一个对象的变量。该字段是从对象中的所有方法中访问。字段也可以是具体取决于访问修饰符字段与声明的对象外访问。对象字段既可以是可变的或不可变的类型,可以使用var 或 val两种定义。

方法参数:

方法的参数是变量,其用于传递方法内的值在方法被调用时。方法参数被从方法唯一传入,但传递的对象可从外面,如果从外面的方法有一个引用对象。方法参数始终是可变的并由val关键字定义。

局部变量:

局部变量是在方法内声明的变量。局部变量只能在方法中访问,但可以访问创建方法的对象(如果从方法中返回它们)。局部变量既可以是可变的或不可变的类型,可以使用var或val两个关键字定义。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读