您需要使用该
go/doc软件包从ast中提取文档:
package mainimport ( "fmt" "go/doc" "go/parser" "go/token")// FirstType docstype FirstType struct { // FirstMember docs FirstMember string}// SecondType docstype SecondType struct { // SecondMember docs SecondMember string}// Main docsfunc main() { fset := token.NewFileSet() // positions are relative to fset d, err := parser.ParseDir(fset, "./", nil, parser.ParseComments) if err != nil { fmt.Println(err) return } for k, f := range d { fmt.Println("package", k) p := doc.New(f, "./", 0) for _, t := range p.Types { fmt.Println(" type", t.Name) fmt.Println(" docs:", t.Doc) } }}


