| // Copyright 2015 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| // Package comment. | |
| package pkg | |
| // Constants | |
| // Comment about exported constant. | |
| const ExportedConstant = 1 | |
| // Comment about internal constant. | |
| const internalConstant = 2 | |
| // Comment about block of constants. | |
| const ( | |
| // Comment before ConstOne. | |
| ConstOne = 1 | |
| ConstTwo = 2 // Comment on line with ConstTwo. | |
| constThree = 3 // Comment on line with constThree. | |
| ) | |
| // Const block where first entry is unexported. | |
| const ( | |
| constFour = iota | |
| ConstFive | |
| ConstSix | |
| ) | |
| // Variables | |
| // Comment about exported variable. | |
| var ExportedVariable = 1 | |
| // Comment about internal variable. | |
| var internalVariable = 2 | |
| // Comment about block of variables. | |
| var ( | |
| // Comment before VarOne. | |
| VarOne = 1 | |
| VarTwo = 2 // Comment on line with VarTwo. | |
| varThree = 3 // Comment on line with varThree. | |
| ) | |
| // Var block where first entry is unexported. | |
| var ( | |
| varFour = 4 | |
| VarFive = 5 | |
| varSix = 6 | |
| ) | |
| // Comment about exported function. | |
| func ExportedFunc(a int) bool | |
| // Comment about internal function. | |
| func internalFunc(a int) bool | |
| // Comment about exported type. | |
| type ExportedType struct { | |
| // Comment before exported field. | |
| ExportedField int // Comment on line with exported field. | |
| unexportedField int // Comment on line with unexported field. | |
| ExportedEmbeddedType // Comment on line with exported embedded field. | |
| *ExportedEmbeddedType // Comment on line with exported embedded *field. | |
| unexportedType // Comment on line with unexported embedded field. | |
| *unexportedType // Comment on line with unexported embedded *field. | |
| io.Reader // Comment on line with embedded Reader. | |
| error // Comment on line with embedded error. | |
| } | |
| // Comment about exported method. | |
| func (ExportedType) ExportedMethod(a int) bool { | |
| return true | |
| } | |
| // Comment about unexported method. | |
| func (ExportedType) unexportedMethod(a int) bool { | |
| return true | |
| } | |
| // Constants tied to ExportedType. (The type is a struct so this isn't valid Go, | |
| // but it parses and that's all we need.) | |
| const ( | |
| ExportedTypedConstant ExportedType = iota | |
| ) | |
| // Comment about constructor for exported type. | |
| func ExportedTypeConstructor() *ExportedType { | |
| return nil | |
| } | |
| const unexportedTypedConstant ExportedType = 1 // In a separate section to test -u. | |
| // Comment about exported interface. | |
| type ExportedInterface interface { | |
| // Comment before exported method. | |
| ExportedMethod() // Comment on line with exported method. | |
| unexportedMethod() // Comment on line with unexported method. | |
| io.Reader // Comment on line with embedded Reader. | |
| error // Comment on line with embedded error. | |
| } | |
| // Comment about unexported type. | |
| type unexportedType int | |
| func (unexportedType) ExportedMethod() bool { | |
| return true | |
| } | |
| func (unexportedType) unexportedMethod() bool { | |
| return true | |
| } | |
| // Constants tied to unexportedType. | |
| const ( | |
| ExportedTypedConstant_unexported unexportedType = iota | |
| ) | |
| const unexportedTypedConstant unexportedType = 1 // In a separate section to test -u. | |
| // For case matching. | |
| const CaseMatch = 1 | |
| const Casematch = 2 | |
| func ReturnUnexported() unexportedType { return 0 } | |
| func ReturnExported() ExportedType { return ExportedType{} } | |
| const MultiLineConst = ` | |
| MultiLineString1 | |
| MultiLineString2 | |
| MultiLineString3 | |
| ` | |
| func MultiLineFunc(x interface { | |
| MultiLineMethod1() int | |
| MultiLineMethod2() int | |
| MultiLineMethod3() int | |
| }) (r struct { | |
| MultiLineField1 int | |
| MultiLineField2 int | |
| MultiLineField3 int | |
| }) { | |
| return r | |
| } | |
| var MultiLineVar = map[struct { | |
| MultiLineField1 string | |
| MultiLineField2 uint64 | |
| }]struct { | |
| MultiLineField3 error | |
| MultiLineField2 error | |
| }{ | |
| {"FieldVal1", 1}: {}, | |
| {"FieldVal2", 2}: {}, | |
| {"FieldVal3", 3}: {}, | |
| } | |
| const ( | |
| _, _ uint64 = 2 * iota, 1 << iota | |
| constLeft1, constRight1 | |
| ConstLeft2, constRight2 | |
| constLeft3, ConstRight3 | |
| ConstLeft4, ConstRight4 | |
| ) | |
| const ( | |
| ConstGroup1 unexportedType = iota | |
| ConstGroup2 | |
| ConstGroup3 | |
| ) | |
| const ConstGroup4 ExportedType = ExportedType{} |