在日常开发中枚举比较常用,比如:星期、类型、等级、状态等。

enum
enum Color { RED, GREEN, BLUE }
enumconst
# 语言类型枚举
const (
	_ = iota
	Zh
	En
	Ar
	De
	It
	Ja
)

func main() {
	fmt.Println(Zh, En, Ar, De, It, Ja)
}

#return: 1 2 3 4 5 6
1,2,3,4,5,6
LanguageType
type LanguageType int32

const (
	Zh		LanguageType = 1
	En		LanguageType = 2
	Ar		LanguageType = 3
	De		LanguageType = 4
	It		LanguageType = 5
	Ja		LanguageType = 6
)
LanguageTypeString()
# 方法一
func (l LanguageType) String () string {
	switch l {
	case 1:
		return "中文"
	case 2:
		return "英文"
	case 3:
		return "阿拉伯文"
	case 4:
		return "德文"
	case 5:
		return "意大利文"
	case 6:
		return "日文"
	default:
		return ""
	}
}

# 方法二
var LanguageMap = map[int32]string{
	1: "中文",
	2: "英文",
	3: "阿拉伯文",
	4: "德文",
	5: "意大利文",
	6: "日文",
}

func (l LanguageType) String () string {
	return LanguageMap[int32(l)]
}

运行结果

func main() {
	fmt.Println(Zh.String(), En.String(), Ar.String(), De.String(), It.String(), Ja.String())
}

#return: 中文 英文 阿拉伯文 德文 意大利文 日文