ide*_*xer 1 scala case pattern-matching match
我经常遇到以下问题:
val b = a match {
case Some(a) => "1"
case None => "n"
}
val c = a match {
case Some(a) => "2"
case None => "n"
}
Run Code Online (Sandbox Code Playgroud)
显然,即使只需要一次,匹配也会执行两次.我怎样才能确保编译器考虑到这一点?
我不认为会有任何性能提升,但您可以像这样编写代码:
val (b, c) = a match {
case Some(a) => ("1","2)
case None => ("n", "n")
}
Run Code Online (Sandbox Code Playgroud)