1、打开Windows命令控制台,输入scala并按【Enter】键,进入scala解释器。
2、用val声明一个变量并赋值。输入:
val name="shf"
并按【Enter】键,可以看到值shf马上就赋给了变量name。
3、重复上一步的操作,但是这次使用lazy 修佈变量。输入 lazy val name="scala"并按【Ente】键,可以看到值scala并没有马上赋给变量name,而是显示<lazy>。
4、用lazy修饰的变量,只有在使用时才会被真正赋值,此处调用一下name。输入 name并按【Enter】键,可以看到值 scala 已赋给变量。
5、用var声明的变量能否用lazy 修饰。输入 lazy var name="df"并按【Enter】 键,结果报错,提示 lazy不可与 var合用,只能用来修饰用 val 声明的变量。
这就是一个惰性求值的简单案例。所谓惰性求值,其实就是说在声明变量时,并不会给变量分配内存空间,只有在使用变量时才会分配。