当前位置: > > > > 在 Go 中,当名称为字符串时如何获取枚举(const iota int)值
来源:stackoverflow
2024-04-19 08:24:33
0浏览
收藏
最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《在 Go 中,当名称为字符串时如何获取枚举(const iota int)值》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~
问题内容
我有一个 golang“枚举”
type mytype int const ( thing1 mytype = iota thing2 thing3 )
后来,在另一个 go 文件/包中,我将上面的名称定义为字符串。
如何从字符串转换为枚举?我知道如果 mytype 是字符串而不是 int,我可以这样做
MyType(myString)
但它不适用于 int (因为 mystring 不是 int)
解决方案
如果您不想更改 mytype
的类型,您可以为字符串定义一个到枚举的映射,并像这样使用它:
type MyType int const ( Thing1 MyType = iota Thing2 Thing3 ) var MyTypeMappings = map[string]MyType{ "Thing1": Thing1, "Thing2": Thing2, "Thing3": Thing3, } func main() { myType := MyTypeMappings["Thing1"] fmt.Print(myType) }
终于介绍完啦!小伙伴们,这篇关于《在 Go 中,当名称为字符串时如何获取枚举(const iota int)值》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~公众号也会发布Golang相关知识,快来关注吧!