【发布时间】:2018-09-27 16:37:14
【问题描述】:
当您在 Scala 中搜索 sum 类型时,您会得到类似的结果:
sealed trait Pet
case class Cat(name: String) extends Pet
case class Fish(name: String, color: Color) extends Pet
case class Squid(name: String, age: Int) extends Pet
是否也可以从Int 或String 等简单数据类型构造求和类型?
类似type simpleType = Int | String | Boolean。
更新:
Scala 3.* 附带此功能,称为 Union Types https://dotty.epfl.ch/docs/reference/new-types/union-types.html。
【问题讨论】:
-
你可以看看Shapeless Coproduct:gist.github.com/fancellu/9a1aafd70b5c316b14f9
-
alvinalexander.com/scala/fp-book/… 试试这个可能有帮助
-
Scala 3 将添加适合表示代数数据类型的枚举。