首页  >  文章  >  后端开发  >  为什么 Go 解析器未检测到结构类型的文档注释?

为什么 Go 解析器未检测到结构类型的文档注释?

Susan Sarandon
Susan Sarandon原创
2024-11-07 04:39:02605浏览

Why are Doc Comments for Struct Types Not Detected by the Go Parser?

Go 解析器未检测到结构类型的文档注释

问题是为什么结构类型的文档注释未被检测到Go 解析器和 ast 包。提供的代码示例使用解析器迭代 AST 并打印出 func、类型和字段声明的文档。但是,结构类型的文档并未打印。

答案解释说,结构类型的文档附加到 AST 中的 GenDecl 节点,而不是 TypeSpec 节点。这是因为 AST 将各个结构类型定义视为带括号的类型定义版本的“收缩”。 go/doc 包通过生成一个假的 GenDecl 节点并将其传递给 readType 函数(如果没有与结构声明相关的文档)来处理这种情况。

答案还解释了为什么这不是首选方法解析文档注释,建议使用 go/doc 包。

以上是为什么 Go 解析器未检测到结构类型的文档注释?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn