Scala 在匹配中避免大小写 _ =>

Scala avoid case _ => in matching

如何避免总是把

case _ => 

在 Scala 匹配的最后?有时可能会匹配其他值,但我只想对上面的情况做一些事情 “案例_=>” 案例.

A match 是一个函数,就像 Scala 中的大多数函数一样,因此它 return 是一个值,您需要 return 为每个可能的 case 赋值。如果你在 case _ 中没有做任何事情,那么你就是在 returning Unit,这反过来意味着代码依赖于副作用并且是非功能性的。

因此,减少在代码中使用空 case _ => 的最佳方法是使其更具功能性,因为它不会在功能代码中使用。

另一种方法是对多路分支使用不同的机制,例如链式 if,或 Option/orElse 链,或操作列表上的 find/collectFirst