Skip to content

38 带数据的枚举 ​

枚举的不同选项可以携带不同类型的数据。

norm
enum Result {
  Success(Integer count),
  Failure(String reason)
}

main() {
  Result first = Result.Success(count: 3)
  Result second = Result.Failure(reason: "empty")
  printLine(first == Result.Success(count: 3))
  printLine(second == Result.Failure(reason: "empty"))
}

预期输出:

text
true
true

Success 携带整数数量,Failure 携带字符串原因。构造时给负载字段写标签,每个值都保留自己属于哪个变体。

动手试试:用不同数量再构造一个 Success 并比较。

详细规则:参考。

Norm 0.25