ConstSpec = IdentifierList [ [ Type ] "=" ExpressionList ] .
()
| 481 | |
| 482 | // ConstSpec = IdentifierList [ [ Type ] "=" ExpressionList ] . |
| 483 | func (p *parser) constSpec() Spec { |
| 484 | if trace { |
| 485 | defer p.trace("constDecl")() |
| 486 | } |
| 487 | |
| 488 | d := new(ConstSpec) |
| 489 | d.pos = p.pos() |
| 490 | d.Pragma = p.takePragma() |
| 491 | |
| 492 | d.NameList = p.nameList(p.name()) |
| 493 | if p.tok != _EOF && p.tok != _Semi && p.tok != _Rparen { |
| 494 | d.Type = p.typeOrNil() |
| 495 | if p.gotAssign() { |
| 496 | d.Values = p.exprList() |
| 497 | } |
| 498 | } |
| 499 | |
| 500 | return d |
| 501 | } |
| 502 | |
| 503 | // TypeSpec = identifier [ TypeParams ] [ "=" ] Type . |
| 504 | func (p *parser) typeSpec() Spec { |