Scala基础(2)- 值,变量,函数

声明值和变量

值(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

这一点也适用于类的方法。这个设计不是随意为之,在谈类和对象时再仔细讲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值