为什么go / doc不提供方法?

时间:2015-02-17 07:29:14

标签: go

我尝试使用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,  )

}

1 个答案:

答案 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
}