我尝试使用go/doc包提取各种函数的文档和方法。代码看起来如下所示。问题是它只打印/提供包中的功能(导出和未导出),但无论是否导出或导出都没有方法。我也试过AllMethods
模式但没有成功。这是一个错误还是我错过了什么?
pkg := doc.New(mainPkg, "./", doc.AllDecls)
for _, vv := range pkg.Funcs {
log.Infof("vv.Name %v, vv.Recv %v", vv.Name, vv.Recv, )
}
答案 0 :(得分:0)
遍历pkg.Types
并在每个项目上获得Methods。
type Type struct {
Doc string
Name string
Decl *ast.GenDecl
// associated declarations
Consts []*Value // sorted list of constants of (mostly) this type
Vars []*Value // sorted list of variables of (mostly) this type
Funcs []*Func // sorted list of functions returning this type
Methods []*Func // sorted list of methods (including embedded ones) of this type
}