我想知道你们认为什么在性能方面更惯用和更好。
在 Option 或 Try 类型的 monad 上,如果您想控制副作用,请使用模式匹配或 map 和 getOrElse。
那么你认为什么更好:
maybeConnectTimeout
.map(connectTimeout => session.connect(connectTimeout))
.getOrElse(session.connect())
或这个maybeConnectTimeout match {
case Some(connectTimeout) => session.connect(connectTimeout)
case None => session.connect()
}
最佳答案
what ... is ... better in terms of performance.
根据 odersky模式匹配
I am surprised that the pattern match gets so little love here. Not only is it by far the fastest (probably at least 10 times as fast as the alternatives), it is also the clearest.
关于scala - 模式匹配或 Map Monads,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69238744/