现在我有很多可以为空的参数,我想为整个表达式分配一个默认值。
现在我正在做类似的事情
var name: Option[String] = None
var surname: Option[String] = Some("Smith")
val fullName:String = {
name.map { name =>
surname.map { surname =>
surname + ", " + name
}.getOrElse("unknown")
}.getOrElse("unknown")
}
但这有点太冗长了。我想知道什么是更惯用和优雅的方式来处理它,理想情况下它会是这样的(当然是伪代码!):
val fullName = (name + ", " + surname).getOrElse("unknown")
或类似的东西...
(只是避免双重 .getOrElse 会很棒......)