读取golang注释 -能玩出花样的功能

未匹配的标注

工具

读取golang的源码结构,并且把对应注释读取出来,需要安装解析包, 包地址 github.com/go-home-admin/toolset/t...

使用例子

import "github.com/go-home-admin/toolset/parser"

scan := "./"
for dir, fileParsers := range parser.NewGoParserForDir(scan) {
    for _, fileParser := range fileParsers {
        for _, goType := range fileParser.Types {
            for _, attr := range goType.Attrs {
                if attr.HasTag("inject") {
                    // 是否擁有某個tag
                }
            }

            // 檢查struct註解
            if goType.Doc.HasAnnotation("@Bean") {

            }
        }
    }
}

你可以做什么

  1. 使用注释写路由,再统一生成到一个文件里,方便调试和阅读
  2. 利用parser的结构,替代反射功能,因为是提前分析生成代码,性能更好
  3. 解析代码生成文档
  4. 你可以自定义注入系统,拥有比谷歌的wire这些更强大的功能

项目地址 通用工具

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~