我正在尝试使用 Go 的解析器和ast包阅读结构类型的相关文档注释。在此示例中,代码仅使用自身作为源。package mainimport ( "fmt" "go/ast" "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 _, f := range d { ast.Inspect(f, func(n ast.Node) bool { switch x := n.(type) { case *ast.FuncDecl: fmt.Printf("%s:\tFuncDecl %s\t%s\n", fset.Position(n.Pos()), x.Name, x.Doc) case *ast.TypeSpec: fmt.Printf("%s:\tTypeSpec %s\t%s\n", fset.Position(n.Pos()), x.Name, x.Doc) case *ast.Field: fmt.Printf("%s:\tField %s\t%s\n", fset.Position(n.Pos()), x.Names, x.Doc) } return true }) }}func 和字段的注释文档输出没有问题,但由于某种原因,找不到“FirstType 文档”和“SecondType 文档”。我错过了什么?Go 版本是 1.1.2。
2 回答
- 2 回答
- 0 关注
- 237 浏览
添加回答
举报
0/150
提交
取消