为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
富国沪深 2021-10-04 16:15:29
我正在使用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}
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

来自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


查看完整回答
反对 回复 2021-10-04
  • 1 回答
  • 0 关注
  • 269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信