当您在Scala中搜索示例和类型时,您会得到类似的内容:
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
这样的东西。
答案 0 :(得分:0)
您可以使用VALUE CLASSES AND UNIVERSAL TRAITS
执行类似操作例如:
sealed trait Numbers extends Any
case class IntT(val underlying: Int) extends AnyVal with Numbers
case class LongT(val underlying: Long) extends AnyVal with Numbers
答案 1 :(得分:0)
看看支持这些分离的https://github.com/frees-io/iota。它需要Cats或Scalaz作为依赖,并允许创建类似的类型:
select g.dte
from generate_series('2018-04-01'::timestamp, '2018-04-30'::timestamp, interval '1 day') g(dte);