Go 是否有一个“问题”;反向;对于stringer工具?
在go中,我可以使用Go 是否有一个“问题”;反向;对于stringer工具?,go,Go,在go中,我可以使用stringer将常量名称转换为字符串: //go:generate stringer -type=M type M int const ( _ M = iota Foo // "Foo" Bar // "Bar" ) 除了手写开关之外,还有什么方法可以让我将“foo”字符串转换成M类型的变量吗?找到了一种方法,但仍然是半手动的。通过使用stringer创建的映射切片,还可以对其进行搜索以反转操作: 类型测量int 常数( 无效测量=物联网 米 升
stringer
将常量名称转换为字符串:
//go:generate stringer -type=M
type M int
const (
_ M = iota
Foo // "Foo"
Bar // "Bar"
)
除了手写开关之外,还有什么方法可以让我将
“foo”
字符串转换成M
类型的变量吗?找到了一种方法,但仍然是半手动的。通过使用stringer创建的映射切片,还可以对其进行搜索以反转操作:
类型测量int
常数(
无效测量=物联网
米
升
英镑
)
//与golang.org/x/tools/cmd/stringer一起工作
//v0.0.0-20200925191224-5d1fdd8fa346
func非拉伸(s字符串)测量{
s=字符串。ToLower(s)
l:=strings.ToLower(\u度量值\u名称)
对于i:=0;i
我最近发现了一个添加了TypeString(string)Type
方法的方法,该方法将字符串值转换为Type,并可以替换stringer
看起来索引方法在stringer版本之间一定发生了变化。我相应地更新了代码(更改了索引),并为我正在使用的添加了版本标识符。还为上下文添加了示例枚举。