| package p1 |
| |
| import ( |
| ptwo "p2" |
| ) |
| |
| const ( |
| ConstChase2 = constChase // forward declaration to unexported ident |
| constChase = AIsLowerA // forward declaration to exported ident |
| |
| A = 1 |
| a = 11 |
| A64 int64 = 1 |
| |
| AIsLowerA = a // previously declared |
| ) |
| |
| const ( |
| ConversionConst = MyInt(5) |
| ) |
| |
| // Variables from function calls. |
| var ( |
| V = ptwo.F() |
| VError = BarE() |
| V1 = Bar1(1, 2, 3) |
| V2 = ptwo.G() |
| ) |
| |
| // Variables with conversions: |
| var ( |
| StrConv = string("foo") |
| ByteConv = []byte("foo") |
| ) |
| |
| var ChecksumError = ptwo.NewError("gzip checksum error") |
| |
| const B0 = 2 |
| const StrConst = "foo" |
| const FloatConst = 1.5 |
| |
| type myInt int |
| |
| type MyInt int |
| |
| type Time struct{} |
| |
| type S struct { |
| Public *int |
| private *int |
| PublicTime Time |
| } |
| |
| type URL struct{} |
| |
| type EmbedURLPtr struct { |
| *URL |
| } |
| |
| type S2 struct { |
| S |
| Extra bool |
| } |
| |
| var X0 int64 |
| |
| var ( |
| Y int |
| X I |
| ) |
| |
| type Namer interface { |
| Name() string |
| } |
| |
| type I interface { |
| Namer |
| ptwo.Twoer |
| Set(name string, balance int64) |
| Get(string) int64 |
| GetNamed(string) (balance int64) |
| private() |
| } |
| |
| type Public interface { |
| X() |
| Y() |
| } |
| |
| type Private interface { |
| X() |
| y() |
| } |
| |
| type Error interface { |
| error |
| Temporary() bool |
| } |
| |
| func (myInt) privateTypeMethod() {} |
| func (myInt) CapitalMethodUnexportedType() {} |
| |
| func (s *S2) SMethod(x int8, y int16, z int64) {} |
| |
| type s struct{} |
| |
| func (s) method() |
| func (s) Method() |
| |
| func (S) StructValueMethod() |
| func (ignored S) StructValueMethodNamedRecv() |
| |
| func (s *S2) unexported(x int8, y int16, z int64) {} |
| |
| func Bar(x int8, y int16, z int64) {} |
| func Bar1(x int8, y int16, z int64) uint64 {} |
| func Bar2(x int8, y int16, z int64) (uint8, uint64) {} |
| func BarE() Error {} |
| |
| func unexported(x int8, y int16, z int64) {} |
| |
| func TakesFunc(f func(dontWantName int) int) |
| |
| type Codec struct { |
| Func func(x int, y int) (z int) |
| } |
| |
| type SI struct { |
| I int |
| } |
| |
| var SIVal = SI{} |
| var SIPtr = &SI{} |
| var SIPtr2 *SI |
| |
| type T struct { |
| common |
| } |
| |
| type B struct { |
| common |
| } |
| |
| type common struct { |
| i int |
| } |
| |
| type TPtrUnexported struct { |
| *common |
| } |
| |
| type TPtrExported struct { |
| *Embedded |
| } |
| |
| type FuncType func(x, y int, s string) (b *B, err error) |
| |
| type Embedded struct{} |
| |
| func PlainFunc(x, y int, s string) (b *B, err error) |
| |
| func (*Embedded) OnEmbedded() {} |
| |
| func (*T) JustOnT() {} |
| func (*B) JustOnB() {} |
| func (*common) OnBothTandBPtr() {} |
| func (common) OnBothTandBVal() {} |
| |
| type EmbedSelector struct { |
| Time |
| } |
| |
| const ( |
| foo = "foo" |
| foo2 string = "foo2" |
| truth = foo == "foo" || foo2 == "foo2" |
| ) |
| |
| func ellipsis(...string) {} |
| |
| func Now() Time { |
| var now Time |
| return now |
| } |
| |
| var x = &S{ |
| Public: nil, |
| private: nil, |
| PublicTime: Now(), |
| } |
| |
| var parenExpr = (1 + 5) |
| |
| var funcLit = func() {} |
| |
| var m map[string]int |
| |
| var chanVar chan int |
| |
| var ifaceVar interface{} = 5 |
| |
| var assertVar = ifaceVar.(int) |
| |
| var indexVar = m["foo"] |
| |
| var Byte byte |
| var ByteFunc func(byte) rune |
| |
| type ByteStruct struct { |
| B byte |
| R rune |
| } |