Home | History | Annotate | Download | only in p1
      1 package p1
      2 
      3 import (
      4 	ptwo "p2"
      5 )
      6 
      7 const (
      8 	ConstChase2 = constChase // forward declaration to unexported ident
      9 	constChase  = AIsLowerA  // forward declaration to exported ident
     10 
     11 	A         = 1
     12 	a         = 11
     13 	A64 int64 = 1
     14 
     15 	AIsLowerA = a // previously declared
     16 )
     17 
     18 const (
     19 	ConversionConst = MyInt(5)
     20 )
     21 
     22 // Variables from function calls.
     23 var (
     24 	V      = ptwo.F()
     25 	VError = BarE()
     26 	V1     = Bar1(1, 2, 3)
     27 	V2     = ptwo.G()
     28 )
     29 
     30 // Variables with conversions:
     31 var (
     32 	StrConv  = string("foo")
     33 	ByteConv = []byte("foo")
     34 )
     35 
     36 var ChecksumError = ptwo.NewError("gzip checksum error")
     37 
     38 const B0 = 2
     39 const StrConst = "foo"
     40 const FloatConst = 1.5
     41 
     42 type myInt int
     43 
     44 type MyInt int
     45 
     46 type Time struct{}
     47 
     48 type S struct {
     49 	Public     *int
     50 	private    *int
     51 	PublicTime Time
     52 }
     53 
     54 type URL struct{}
     55 
     56 type EmbedURLPtr struct {
     57 	*URL
     58 }
     59 
     60 type S2 struct {
     61 	S
     62 	Extra bool
     63 }
     64 
     65 var X0 int64
     66 
     67 var (
     68 	Y int
     69 	X I
     70 )
     71 
     72 type Namer interface {
     73 	Name() string
     74 }
     75 
     76 type I interface {
     77 	Namer
     78 	ptwo.Twoer
     79 	Set(name string, balance int64)
     80 	Get(string) int64
     81 	GetNamed(string) (balance int64)
     82 	private()
     83 }
     84 
     85 type Public interface {
     86 	X()
     87 	Y()
     88 }
     89 
     90 type Private interface {
     91 	X()
     92 	y()
     93 }
     94 
     95 type Error interface {
     96 	error
     97 	Temporary() bool
     98 }
     99 
    100 func (myInt) privateTypeMethod()           {}
    101 func (myInt) CapitalMethodUnexportedType() {}
    102 
    103 func (s *S2) SMethod(x int8, y int16, z int64) {}
    104 
    105 type s struct{}
    106 
    107 func (s) method()
    108 func (s) Method()
    109 
    110 func (S) StructValueMethod()
    111 func (ignored S) StructValueMethodNamedRecv()
    112 
    113 func (s *S2) unexported(x int8, y int16, z int64) {}
    114 
    115 func Bar(x int8, y int16, z int64)                  {}
    116 func Bar1(x int8, y int16, z int64) uint64          {}
    117 func Bar2(x int8, y int16, z int64) (uint8, uint64) {}
    118 func BarE() Error                                   {}
    119 
    120 func unexported(x int8, y int16, z int64) {}
    121 
    122 func TakesFunc(f func(dontWantName int) int)
    123 
    124 type Codec struct {
    125 	Func func(x int, y int) (z int)
    126 }
    127 
    128 type SI struct {
    129 	I int
    130 }
    131 
    132 var SIVal = SI{}
    133 var SIPtr = &SI{}
    134 var SIPtr2 *SI
    135 
    136 type T struct {
    137 	common
    138 }
    139 
    140 type B struct {
    141 	common
    142 }
    143 
    144 type common struct {
    145 	i int
    146 }
    147 
    148 type TPtrUnexported struct {
    149 	*common
    150 }
    151 
    152 type TPtrExported struct {
    153 	*Embedded
    154 }
    155 
    156 type FuncType func(x, y int, s string) (b *B, err error)
    157 
    158 type Embedded struct{}
    159 
    160 func PlainFunc(x, y int, s string) (b *B, err error)
    161 
    162 func (*Embedded) OnEmbedded() {}
    163 
    164 func (*T) JustOnT()             {}
    165 func (*B) JustOnB()             {}
    166 func (*common) OnBothTandBPtr() {}
    167 func (common) OnBothTandBVal()  {}
    168 
    169 type EmbedSelector struct {
    170 	Time
    171 }
    172 
    173 const (
    174 	foo          = "foo"
    175 	foo2  string = "foo2"
    176 	truth        = foo == "foo" || foo2 == "foo2"
    177 )
    178 
    179 func ellipsis(...string) {}
    180 
    181 func Now() Time {
    182 	var now Time
    183 	return now
    184 }
    185 
    186 var x = &S{
    187 	Public:     nil,
    188 	private:    nil,
    189 	PublicTime: Now(),
    190 }
    191 
    192 var parenExpr = (1 + 5)
    193 
    194 var funcLit = func() {}
    195 
    196 var m map[string]int
    197 
    198 var chanVar chan int
    199 
    200 var ifaceVar interface{} = 5
    201 
    202 var assertVar = ifaceVar.(int)
    203 
    204 var indexVar = m["foo"]
    205 
    206 var Byte byte
    207 var ByteFunc func(byte) rune
    208 
    209 type ByteStruct struct {
    210 	B byte
    211 	R rune
    212 }
    213