首页 > 后端开发 > Golang > 如何在不编写显式字符串转换的情况下获取 Go 枚举名称?

如何在不编写显式字符串转换的情况下获取 Go 枚举名称?

Barbara Streisand
发布: 2024-12-07 07:45:17
原创
728 人浏览过

How Can I Get Go Enum Names Without Writing Explicit String Conversions?

在没有显式字符串转换的情况下在 Go 中获取枚举名称

在 Go 中,枚举通常实现为分配整数值的常量。但是,在不显式创建 String() 方法的情况下访问枚举名称可能会很麻烦。

考虑以下示例:

要获取枚举名称,可以定义一个 String()每个枚举值的方法,导致重复重新键入或代码生成。有替代方案吗?

使用 Stringer 工具

Go 提供了 stringer 工具,它可以自动为常量创建 String() 方法。通过在与上面代码相​​同的目录中执行以下命令:

在包上下文中生成一个新文件mercury_string.go,包含:

此方法允许方便地检索枚举名称并减少显式字符串转换的需要。

其他注意:

虽然此技术解决了在没有显式 String() 方法的情况下获取枚举名称的问题,但请记住,它需要使用外部工具,并且在某些情况下可能并不总是可行。

以上是如何在不编写显式字符串转换的情况下获取 Go 枚举名称?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板