github.com/miolini/go@v0.0.0-20160405192216-fca68c8cb408/src/cmd/doc/testdata/pkg.go (about)

     1  // Copyright 2015 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Package comment.
     6  package pkg
     7  
     8  // Constants
     9  
    10  // Comment about exported constant.
    11  const ExportedConstant = 1
    12  
    13  // Comment about internal constant.
    14  const internalConstant = 2
    15  
    16  // Comment about block of constants.
    17  const (
    18  	// Comment before ConstOne.
    19  	ConstOne   = 1
    20  	ConstTwo   = 2 // Comment on line with ConstTwo.
    21  	constThree = 3 // Comment on line with constThree.
    22  )
    23  
    24  // Const block where first entry is unexported.
    25  const (
    26  	constFour = iota
    27  	ConstFive
    28  	ConstSix
    29  )
    30  
    31  // Variables
    32  
    33  // Comment about exported variable.
    34  var ExportedVariable = 1
    35  
    36  // Comment about internal variable.
    37  var internalVariable = 2
    38  
    39  // Comment about block of variables.
    40  var (
    41  	// Comment before VarOne.
    42  	VarOne   = 1
    43  	VarTwo   = 2 // Comment on line with VarTwo.
    44  	varThree = 3 // Comment on line with varThree.
    45  )
    46  
    47  // Var block where first entry is unexported.
    48  var (
    49  	varFour = 4
    50  	VarFive = 5
    51  	varSix  = 6
    52  )
    53  
    54  // Comment about exported function.
    55  func ExportedFunc(a int) bool
    56  
    57  // Comment about internal function.
    58  func internalFunc(a int) bool
    59  
    60  // Comment about exported type.
    61  type ExportedType struct {
    62  	// Comment before exported field.
    63  	ExportedField         int // Comment on line with exported field.
    64  	unexportedField       int // Comment on line with unexported field.
    65  	ExportedEmbeddedType      // Comment on line with exported embedded field.
    66  	*ExportedEmbeddedType     // Comment on line with exported embedded *field.
    67  	unexportedType            // Comment on line with unexported embedded field.
    68  	*unexportedType           // Comment on line with unexported embedded *field.
    69  }
    70  
    71  // Comment about exported method.
    72  func (ExportedType) ExportedMethod(a int) bool {
    73  	return true
    74  }
    75  
    76  // Comment about unexported method.
    77  func (ExportedType) unexportedMethod(a int) bool {
    78  	return true
    79  }
    80  
    81  // Constants tied to ExportedType. (The type is a struct so this isn't valid Go,
    82  // but it parses and that's all we need.)
    83  const (
    84  	ExportedTypedConstant ExportedType = iota
    85  )
    86  
    87  // Comment about constructor for exported type.
    88  func ExportedTypeConstructor() *ExportedType {
    89  	return nil
    90  }
    91  
    92  const unexportedTypedConstant ExportedType = 1 // In a separate section to test -u.
    93  
    94  // Comment about exported interface.
    95  type ExportedInterface interface {
    96  	// Comment before exported method.
    97  	ExportedMethod()   // Comment on line with exported method.
    98  	unexportedMethod() // Comment on line with unexported method.
    99  }
   100  
   101  // Comment about unexported type.
   102  type unexportedType int
   103  
   104  func (unexportedType) ExportedMethod() bool {
   105  	return true
   106  }
   107  
   108  func (unexportedType) unexportedMethod() bool {
   109  	return true
   110  }
   111  
   112  // Constants tied to unexportedType.
   113  const (
   114  	ExportedTypedConstant_unexported unexportedType = iota
   115  )
   116  
   117  const unexportedTypedConstant unexportedType = 1 // In a separate section to test -u.
   118  
   119  // For case matching.
   120  const CaseMatch = 1
   121  const Casematch = 2