Scala中的var和val定义有什么区别?为什么这两种定义都需要?为什么你会选择val而不是var,反之亦然?


当前回答

Val值是类型存储常量。一旦创建它的价值不能重新分配。可以用关键字val定义一个新值。

如。val x: Int = 5

这里type是可选的,因为scala可以从赋值推断它。

变量是类型化的存储单元,只要保留内存空间,就可以再次为其赋值。

如。var x: Int = 5

一旦不再需要存储在这两个存储单元中的数据,JVM就会自动取消对它们的分配。

在scala中,值比变量更受欢迎,因为它们给代码带来了稳定性,尤其是在并发和多线程代码中。

其他回答

Val表示不可变,var表示可变。

完整的讨论。

Val是最终值,即不能设置。在java中考虑final。

简单来说:

var = 变量

Val =变量+ final

Val值是类型存储常量。一旦创建它的价值不能重新分配。可以用关键字val定义一个新值。

如。val x: Int = 5

这里type是可选的,因为scala可以从赋值推断它。

变量是类型化的存储单元,只要保留内存空间,就可以再次为其赋值。

如。var x: Int = 5

一旦不再需要存储在这两个存储单元中的数据,JVM就会自动取消对它们的分配。

在scala中,值比变量更受欢迎,因为它们给代码带来了稳定性,尤其是在并发和多线程代码中。

在javascript方面,它与

val -> const 是 -> 是