我如何在golang中进行枚举?

时间:2015-03-16 18:00:19

标签: go

我有

const (
  BlahFoo = 1 << iota
  MooFoo
)

然后

type Cluster struct {
  a  int
  b  int
}

我希望Cluster.a只是BlahFoo或MooFoo

我该如何强制执行?

1 个答案:

答案 0 :(得分:7)

type FooEnum int

const (
  BlahFoo FooEnum = 1 << iota
  MooFoo
)

type Cluster struct {
  a FooEnum
  b int
}