1

在我正在研究的代码库中有一个模式,var x: Option[A] = None它用于启动未初始化的变量,并在程序启动后的某个时间点填充,或者使用异步加载的数据,或者响应某种发生的第一个事件.

在此之后,变量始终是类型Some- 该None部分仅在程序开始时使用。

虽然这个模型很好地模拟了正在发生的事情(我看到的最后一个事件是None程序启动时,并且永远都是这样Some(event)),但我觉得每次与这些变量之一交互时我都在为使用选项付出代价,尽管我实际上只使用过一次。

似乎我不清楚 - 内部的值Some可以改变,因此 var. 我不能只使用未来来等待初始化并从那里开始。

有没有更简洁的方法来表示这种延迟初始化?

4

0 回答 0