Scala类型系统让我很生气。我开始查看基本scala包的源代码,它会让我的大脑消失。
有人可以详细说明为什么我们确实需要定义类型,如果Sequence已经是一个特征(又名界面)?我来自Java工作,其中类型是类或接口,但在scala类型中似乎更多。
package object scala {
....
type Seq[+A] = scala.collection.Sequence[A]
val Seq = scala.collection.Sequence
....
}
答案 0 :(得分:5)
看看Understanding what 'type' does in Scala除了类和特征之外还需要关键字类型的原因。关于为什么scala包对象包含这些别名,它存在于文件“核心Scala类型”顶部的注释中。它们始终可用,无需显式导入。 https://github.com/scala/scala/blob/2.11.x/src/library/scala/package.scala