首页 > 后端开发 > Golang > 正文

如何检索 Go 包中的所有结构?

Patricia Arquette
发布: 2024-10-31 01:51:02
原创
496 人浏览过

How to Retrieve All Structs within a Go Package?

检索 Go 包中的所有结构

在 Go 中,可以枚举特定包中定义的所有结构。为了实现这一点,最有效的解决方案包括解析 Go 源文件、提取抽象语法树 (AST) 以及隔离 ast.StructType 实例。

hg 命令可用于克隆 Go 源代码:

hg clone https://code.google.com/p/go/
登录后复制

随后,您可以通过解析源文件来隔离 ast.StructType 实例。下面是 linter go/lint 提供的示例,演示了如何提取结构体字段名称:

    case *ast.StructType:
        for _, f := range v.Fields.List {
            for _, id := range f.Names {
                check(id, "struct field")
            }
        }
登录后复制

通过解析 AST 并提取 ast.StructType 实例,您可以获得其中所有结构体的列表指定包裹。

以上是如何检索 Go 包中的所有结构?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!