在Scala中處理Option
我應該考慮什麼來決定是映射還是匹配匹配?舉例來說,如果我有Option[MyClass]
,我可以對付它通過以下方式:Scala選項:map vs模式匹配
def getList(myOptionInstance: Option[MyClass]): List[String] =
myOptionInstance map (...) getOrElse(List.empty[String])
或
def getList(myOptionInstance: Option[MyClass]): List[String] = myOptionInstance match {
case Some(mySomeInstance) => .....
case None => List.empty[String]
}
我什麼時候會選擇一個比其他?
在情況l因此,我更喜歡模式匹配,因爲它通常更容易理解,並且生成效率更高的代碼(不包含'Function1's)。 –
其他選項:'myOptionInstance.toList flatMap(...)' – senia