【发布时间】:2015-06-07 09:39:39
【问题描述】:
在 scala 中 Option 类声明为
sealed abstract class _Option[+A]
case object _None extends _Option[Nothing] {}
final case class _Some[+A](x: A) extends _Option[A] {}
[+A] 是什么?为什么不只是[A]?会不会是[-A],这意味着什么?
对不起,如果它是重复的,但我在 SO 上找不到答案。
【问题讨论】:
-
这些是差异注释。根据经验,您应该花一些时间掌握语言的窍门,然后再急于使用 SO。这个网站 (stackoverflow.com/tags/scala/info) 上的 scala 信息页面有很多指向学习材料的指针。关于差异,请参见示例artima.com/pins1ed/type-parameterization.html。
-
@EndeNeu 是的,问题的内容是相似的......但是如果你不知道什么是“协方差”,你永远找不到正确的答案。
-
这是一个很好的观点。这就是为什么您需要先花一些时间在一些学习材料上(即使只是略读一下)。