1:Scala中Null, None, Nothing、Unit分别是什么含义
2:yield的含义
3:val、var、def、lazy的区别
1:Null是空值,只有一个实例值null,可以给AnyRef赋值,不能给AnyVal赋值
none:scala中的None其实是Option类的一个实例,并不是为null
Nothing:是基本数据类型低层的最底端,可以返回任何数据类型的子类
Unit:是用作不返回任何数据类型,只有一个实例值()
2:yield的含义
for不能直接返回值,可以用yield关键字进行,处理后可以直接返回值.
3:
val:常量声明关键字,定义的值是不可变的。它不是常量,而是不可变量或只读变量。
var:变量声明关键字,类似于Java中的变量,变量值可以更改,但变量类型不能更改。
def:关键字用于创建方法(注意方法和函数的区别)。在Scala中,方法不是值,而函数是。因此,一个方法不能赋值给一个val变量,而函数可以。
lazy:该声明意味着当需要计算时才使用,以避免重复计算。它是惰性变量声明