Go 语言中没有内置的枚举类型,但可以通过 const 和 iota 关键字实现枚举类型。
示例代码:
package main
import "fmt"
// 定义枚举类型
type Color int
const (
Red Color = iota
Green
Blue
)
func (c Color) String() string {
names := [...]string{"Red", "Green", "Blue"}
if c < Red || c > Blue {
return "Unknown"
}
return names[c]
}
func main() {
c := Green
fmt.Println(c)
fmt.Println(c.String())
}
输出:
1
Green