读取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") {
}
}
}
}
你可以做什么
- 使用注释写路由,再统一生成到一个文件里,方便调试和阅读
- 利用parser的结构,替代反射功能,因为是提前分析生成代码,性能更好
- 解析代码生成文档
- 你可以自定义注入系统,拥有比谷歌的wire这些更强大的功能