我已经开始学习scala,并在项目中遍历了代码(案例类和其他内容)。
我看到一个这样定义的案例类
case class Test(firstName: Option[String] = None, lastName: Option[String])
我对上述案例类有几个问题
有人可以解释
<类似于以下内容:name: type (= defaultValue)
-请注意,默认值部分为可选。
firstName: Option[String] = None
表示参数名为firstName,其类型为Option [String],其默认值为None (也请记住使用了Option类型来解释一个值可能存在或不存在。None表示它不存在)
。根据上下文两者都是正确的,在这种情况下,可以像这样使用此类:Test(lastName = None)
// res: Test = Test(None,None) - A person without names.
Test(lastName = Some("Mejia"))
// res: Test = Test(None,Some(Mejia)) - A person with just its last name, which it is "Mejia".
Test(firstName = Some("Luis"), lastName = Some("Mejia"))
// res: Test = Test(Some(Luis),Some(Mejia)) - A person whose first name is "Luis" and its last name is "Mejia".
Test(firstName = Some("Luis"), lastName = None)
// res: Test = Test(Some(Luis),None) - A person with just its first name, which it is "Luis".
请注意,由于没有默认值,我总是必须指定其姓氏。