Scala基础(2)- 值,变量,函数
程序员文章站
2023-12-30 21:15:28
...
声明值和变量
值(value)声明以后不能修改其内容
val result = 3 + 4 * 5
result = 0 // error
变量(variable)声明以后可以修改其内容。
var counter = 0
counter = 1 // ok
很C++,Java不同,Scala鼓励尽量使用val,避免副作用的发生。另外,可以看到我们没有像Java一样给result或者counter声明类型。Scala可以通过赋值推测出其类型。当然如果需要,也可以显示标明类型。
var message: String = null
函数
简单的函数定义如下
def max(x: Int, y: Int): Int = {
if (x > y) x
else y }
和大多数语言不同,Scala把类型(如Int)放在了参数名后面。个人理解,这样做的原因是很多时候,返回类型是可以省略的。相比较而言,参数名更为重要,所以放在前面。这也符合写程序的思考习惯。另外,函数没有return
,默认执行的最后一行就是return,这一点也印证了“表达式即值”的思想,也是REPL中每执行一行,就有个result的原因。
如果函数不带参数,你可以不写括号。
scala> def three() = 1 + 2
three: ()Int
scala> three()
res2: Int = 3
scala> three
res3: Int = 3
这一点也适用于类的方法。这个设计不是随意为之,在谈类和对象时再仔细讲。
推荐阅读
-
Scala基础(2)- 值,变量,函数
-
Scala基础(3)- 函数进阶
-
Scala基础(2)- 值,变量,函数
-
linux shell自定义函数(定义、返回值、变量作用域)介绍
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
Javascript入门学习第五篇 js函数第1/2页_基础知识
-
如何获得匿名函数中的方法或值-解少全局变量的污染
-
Kotlin基础教程之函数定义与变量声明
-
JavaScript 基础函数_深入剖析变量和作用域
-
Python使用函数默认值实现函数静态变量的方法