用val声明一个变量并赋值,输入val name=“shf”回车后可以看到shf赋给了变量name,重复上一步使用lazy修饰变量,输入lazy val name=“scala”,回车后可以看到值scala没有马上赋给变量name,而是显示<lazy>,用lazy修饰的变量,只有在使用时才会被真正赋值,此处调用name,输入name回车后可以看到scala以赋给变量,用var声明的变量能否用lazy修饰,输入lazy var name=“df”回车后结果报错,显示lazy不可与var合用,只能用来修饰val声明的变量。
这是一个惰性求值的简单案例,这惰性求值就是再说在声明变量时不会给变量分配内存空间,只有在使用变量时才会分配。