Go 解析器未检测到结构类型的文档注释
问题是为什么结构类型的文档注释未被检测到Go 解析器和 ast 包。提供的代码示例使用解析器迭代 AST 并打印出 func、类型和字段声明的文档。但是,结构类型的文档并未打印。
答案解释说,结构类型的文档附加到 AST 中的 GenDecl 节点,而不是 TypeSpec 节点。这是因为 AST 将各个结构类型定义视为带括号的类型定义版本的“收缩”。 go/doc 包通过生成一个假的 GenDecl 节点并将其传递给 readType 函数(如果没有与结构声明相关的文档)来处理这种情况。
答案还解释了为什么这不是首选方法解析文档注释,建议使用 go/doc 包。
以上是为什么 Go 解析器未检测到结构类型的文档注释?的详细内容。更多信息请关注PHP中文网其他相关文章!