【发布时间】:2017-07-08 14:15:54
【问题描述】:
我一直在阅读Richard Feldman's Elm SPA app example,我看到很多examples 是这样的:
type Username
= Username String
我不确定何时使用类似的东西有意义,单值联合类型,而不是像这样的类型别名:
type alias Username
= String
什么时候适合使用单值联合类型而不是只使用类型别名?
【问题讨论】:
-
您展示的示例称为不透明类型。使用一个可以让您对程序的其他部分隐藏实现细节(或者在库的情况下,对消费者隐藏)。您可以在Elm package help 中阅读更多关于它们的信息(请参阅标题为“将标签和记录构造函数保密”的部分)。
标签: elm type-alias union-types