...
1
2
3 package Example
4
5 import "strconv"
6
7 type LongEnum uint64
8
9 const (
10 LongEnumLongOne LongEnum = 2
11 LongEnumLongTwo LongEnum = 4
12 LongEnumLongBig LongEnum = 1099511627776
13 )
14
15 var EnumNamesLongEnum = map[LongEnum]string{
16 LongEnumLongOne: "LongOne",
17 LongEnumLongTwo: "LongTwo",
18 LongEnumLongBig: "LongBig",
19 }
20
21 var EnumValuesLongEnum = map[string]LongEnum{
22 "LongOne": LongEnumLongOne,
23 "LongTwo": LongEnumLongTwo,
24 "LongBig": LongEnumLongBig,
25 }
26
27 func (v LongEnum) String() string {
28 if s, ok := EnumNamesLongEnum[v]; ok {
29 return s
30 }
31 return "LongEnum(" + strconv.FormatInt(int64(v), 10) + ")"
32 }
33
View as plain text