首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入探索Scala的Option

    现在,让我们再看看Scala语法层面的OptionOption对象并没有从根本上解决程序错误的问题,但只要使用得当,就能有效地将错误往程序的外层推,这实际上是消除副作用的惯常做法。...如上代码简单明了,你甚至可以忽略当Option为None的情形,只考虑正常的字符串解析逻辑,它自然地隐含了None的语义,因为在代码中通过optGet与optToInt返回的值(为Option类型),只要其中一个为...对于输入的这个str,我们仍然要避免使用条件判断的方式,因而可以修改函数的接口为: def parseLocation(str: Option[String]): Option[Location] =...如此,我们可以将对str的解析逻辑也挪动到for comprehension中: def parseLocation(str: Option[String]): Option[Location] = {...Tony Morris整理的scala.Option Cheat Sheet总结了这些函数的用法,可供参考。

    1.1K70

    使用Option的正确姿势

    我们会频繁地使用Scala的Option,用以解决类似Null Object之类的问题。...我在博客《引入Option优雅地保证健壮性》与《并非Null Object这么简单》中都详细对Option的本质与运用进行剖析与介绍。 然而,Option虽然好,我们却不可“贪杯”哦!...从语义上讲,Option代表一种容器(Monad)非空即有的两种状态,例如List的headOption就是对Option的合理诠释。那么,是否只要是两种状态的业务场景,就可以使用Option呢?...他给出这样的一个案例:根据产品标题与零售商信息查询Offer: def searchOffers( productTitle: Option[String], retailer: Option[...作为这个函数的调用者,我们该怎么看待这两个Option参数传递的业务含义?

    1.1K50
    领券