package enum type Language string const ( Language_ZH_CN Language = "zh_CN" // 简体中文 Language_ZH_TW Language = "zh_TW" // 繁体中文 Language_ID Language = "id" // 印尼 Language_TH Language = "th" // 泰国 Language_EN Language = "en_US" // 英文 Language_AR_SA Language = "ar_SA" // 阿拉伯语 ) // 字符串到枚举的映射 var languageMap = map[string]Language{ string(Language_ZH_CN): Language_ZH_CN, string(Language_ZH_TW): Language_ZH_TW, string(Language_ID): Language_ID, string(Language_TH): Language_TH, string(Language_EN): Language_EN, string(Language_AR_SA): Language_AR_SA, } // 通过字符串值获取枚举,带验证 func ParseLanguage(s string) (Language, bool) { lang, ok := languageMap[s] if !ok { return Language_EN, false } return lang, true } type ShowDataType int32 const ( ShowDataType_TotalLoginDays ShowDataType = 1 // 登录天数 ShowDataType_MaxPrestige ShowDataType = 2 // 最高声望 ShowDataType_MaxPrestigeRank ShowDataType = 3 // 最高声望排行 ShowDataType_MaxGlory ShowDataType = 4 // 最高功勋 ShowDataType_MaxGloryRank ShowDataType = 5 // 最高功勋排行 ShowDataType_GloryCount ShowDataType = 6 // 霸业次数 ShowDataType_SupremacyCount ShowDataType = 7 // 问鼎次数 ) // 收集所有枚举值 var AllShowDataTypes = map[int32]ShowDataType{ int32(ShowDataType_TotalLoginDays): ShowDataType_TotalLoginDays, int32(ShowDataType_MaxPrestige): ShowDataType_MaxPrestige, int32(ShowDataType_MaxPrestigeRank): ShowDataType_MaxPrestigeRank, int32(ShowDataType_MaxGlory): ShowDataType_MaxGlory, int32(ShowDataType_MaxGloryRank): ShowDataType_MaxGloryRank, int32(ShowDataType_GloryCount): ShowDataType_GloryCount, int32(ShowDataType_SupremacyCount): ShowDataType_SupremacyCount, } func CheckShowDataTypeExist(showDataType int32) (ShowDataType, bool) { show, found := AllShowDataTypes[showDataType] return show, found }