演示Scala的lazy变量的惰性求值。

 

操作步骤:

(1)打开Windows命令控制台,输入scala并按【Enter】键,进人Scala解释器。

(2)用val声明一个变量并赋值。输入val name-"shf"并按【Enter】键,可以看到值shf马上就赋给了变量name。

 

scala> val name="shf"

name: String = shr

 

(3)重复上一步的操作,但是这次使用lazy 修饰变量。输人 lazy val name="scala"并按【Enter]键,可以看到值scala并没有马上赋给变量name,而是显示<lazy>。

 

scala> lazy val name="scala"
hame: String= <lazy>


(4)用lazy 修饰的变量,只有在使用时才会被真正赋值,此处调用一下name。输入name 并按【E
键,可以看到值scala已赋给变量。

 

scala> name
res7: String = scala

 

(5)用var 声明的变量能否用lazy 修饰。输入 lazy var name="df"并按【Enter】键,结果报错,提示lazy不可与var合用,只能用来修饰用val声明的变量。

 

scala> lazy var name="df"

console>:1: error: lazy not allowed here. Only vals can be lazy

lazy var name="df"

 

这就是一个惰性求值的简单案例。所谓惰性求值,其实就是说在声明变量时,并不会给变量分配内存空间,只有在使用变量时才会分配。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值