kun-song / Functional-Programming-in-Scala-Specialization

https://www.coursera.org/specializations/scala
0 stars 0 forks source link

Nothing #7

Open kun-song opened 6 years ago

kun-song commented 6 years ago

Scala 的类型系统中,Nothing 处于最底层,Nothing 可以作为任意类型的子类:

sealed trait Try[+T]

final case class Success[T](v: T) extends Try[T]
final case class Failure(ex: Exception) extends Try[Nothing]

Try 是协变类型,因此 Try[Nothing] 是任意 Try 的子类,而 Failure 继承了 Try[Nothing],所以 Failure 也是任意 Try 类型的子类。