scala – 有什么理由来避免回报
发布时间:2020-12-16 09:38:34 所属栏目:安全 来源:网络整理
导读:有时我会看到大量的Scala代码,有几个嵌套的条件和匹配级别,这将使用明确的返回值退出函数会更加清晰。 避免这些明确的退货声明有什么好处吗? 解决方法 返回可以通过抛出异常来实现,因此它可能在声明方法结果的标准方式上具有一定的开销。 (感谢Kim Stebe
有时我会看到大量的Scala代码,有几个嵌套的条件和匹配级别,这将使用明确的返回值退出函数会更加清晰。
避免这些明确的退货声明有什么好处吗? 解决方法
返回可以通过抛出异常来实现,因此它可能在声明方法结果的标准方式上具有一定的开销。 (感谢Kim Stebel指出,这并不总是,也许不是经常的情况)。
另外,闭包的返回将从闭包定义的方法返回,而不是简单地从闭包本身返回。这使得它对于这一点很有用,并且从关闭返回结果是无用的。 以上的例子: def find[T](seq: Seq[T],predicate: T => Boolean): Option[T] = { seq foreach { elem => if (predicate(elem)) return Some(elem) // returns from find } None } 如果你仍然不明白,elem => if(predicate(elem))return Some(elem)是应用一个实现Function1的匿名对象的方法,并将其作为参数传递给foreach。从中删除返回,它将不起作用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |