1package enumvariants 2 3// Integer, string, and float can be enum types. 4// Bool cannot be enum type. 5// Only basic types can be enum types. 6 7type UIntEnum uint 8 9const ( 10 UIntA UIntEnum = 0 11 UIntB UIntEnum = 1 12) 13 14type StringEnum string 15 16const ( 17 StringA StringEnum = "stringa" 18 StringB StringEnum = "stringb" 19 StringC StringEnum = "stringc" 20) 21 22type RuneEnum rune 23 24const ( 25 RuneA RuneEnum = 'a' 26) 27 28type ByteEnum byte 29 30const ( 31 ByteA = ByteEnum('a') 32) 33 34type Int32Enum int32 35 36const ( 37 Int32A Int32Enum = 0 38 Int32B Int32Enum = 1 39) 40 41type FloatEnum float64 42 43const ( 44 FloatEnumA FloatEnum = iota 45 FloatEnumB 46) 47 48type BoolNotEnum bool 49 50const ( 51 BoolNotEnumA BoolNotEnum = true 52 BoolNotEnumB BoolNotEnum = false 53) 54 55type NonBasicType S 56 57type S struct{ F int } 58 59var ( 60 SA NonBasicType = NonBasicType{F: 1} 61 SB NonBasicType = NonBasicType{F: 2} 62) 63 64const There AcrossBlocksDeclsFiles = 2 65