gpt4 book ai didi

go - 如何在Golang中按值获取枚举变量名称?

转载 作者:行者123 更新时间:2023-12-01 22:08:38 26 4
gpt4 key购买 nike

我使用enum定义id和文本值之间的关系,但是我使用id作为枚举值,因为我不能使用id作为变量名

type Gender uint8
type MemberType uint8

const (
Male Gender = 2
Female Gender = 5

Standard MemberType = 2
VIP MemberType = 5
)

现在,我从“性别”表和“成员(member)类型”表中选择了ID 5,如何使用它来获取“性别”的文本“女性”和“成员(member)类型”的文本“VIP”?

最佳答案

如果您要获取字符串“Female”和“VIP”

var genders = map[uint8]string{
2: "Male",
5: "Female",
}

var memberTypes = map[uint8]string{
2: "Standard",
5: "VIP",
}

或者:
var genders = map[Gender]string{
Male: "Male",
Female: "Female",
}

var memberTypes = map[MemberType]string{
Standard: "Standard",
VIP: "VIP",
}

然后你会得到类似
 id := 5
fmt.Println(genders[id]) // "Female"
fmt.Println(memberTypes[id]) // "VIP"
// or...
fmt.Println(genders[Gender(id)]) // "Female"
fmt.Println(memberTypes[MemberType(id)]) // "VIP"

关于go - 如何在Golang中按值获取枚举变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59402587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com