在 Go 中,枚举通常实现为分配整数值的常量。但是,在不显式创建 String() 方法的情况下访问枚举名称可能会很麻烦。
考虑以下示例:
要获取枚举名称,可以定义一个 String()每个枚举值的方法,导致重复重新键入或代码生成。有替代方案吗?
使用 Stringer 工具
Go 提供了 stringer 工具,它可以自动为常量创建 String() 方法。通过在与上面代码相同的目录中执行以下命令:
在包上下文中生成一个新文件mercury_string.go,包含:
此方法允许方便地检索枚举名称并减少显式字符串转换的需要。
其他注意:
虽然此技术解决了在没有显式 String() 方法的情况下获取枚举名称的问题,但请记住,它需要使用外部工具,并且在某些情况下可能并不总是可行。
以上是如何在不编写显式字符串转换的情况下获取 Go 枚举名称?的详细内容。更多信息请关注PHP中文网其他相关文章!