go/ast 包中的 Doc 和 Comment 有什么区别?

我正在使用go/astandgo/parser包来做某事,但我对Doc和之间的区别感到困惑Comment。


是第一行注释a Doc,然后其他人为Comment?

这是一个示例:


TypeSpec struct {

    Doc     *CommentGroup // associated documentation; or nil

    Name    *Ident        // type name

    Type    Expr          // *Ident, *ParenExpr, *SelectorExpr, *StarExpr, or any of the *XxxTypes

    Comment *CommentGroup // line comments; or nil

}


富国沪深
浏览 270回答 1
1回答

慕的地6264312

来自src/go/ast/ast.go#L70-L75:// A CommentGroup represents a sequence of comments// with no other tokens and no empty lines between.遵循Godoc:记录 Go 代码:Doc是注释一个或几个连续的线(// ...)之前的TypeSpec在其声明之前直接写一个常规注释,中间没有空行// A TypeSpec node represents a type declaration (TypeSpec production).^^^^^^^^^^^^...TypeSpec struct {Comment是与字段本身相关的注释,从同一行开始,但可以分布在多个连续行上(因此为“ CommentGroup”)Name    *Ident        // type name                      ^^^^^^^^^^^                      // the comment associated to Name                      // could go on over several lines
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go