52 lines
607 B
Go
52 lines
607 B
Go
package foo
|
|
|
|
type IFoo interface {
|
|
Foo(a []int, b string) int
|
|
}
|
|
|
|
type Foo struct {
|
|
nexy *Foo
|
|
data map[string]uint64
|
|
f32 float32
|
|
f64 float64
|
|
u8 uint8
|
|
u16 uint16
|
|
u32 uint32
|
|
u64 uint64
|
|
u uint
|
|
i8 int8
|
|
i16 int16
|
|
i32 int32
|
|
i64 int64
|
|
i int
|
|
b bool
|
|
arr [10]int
|
|
c64 complex64
|
|
c128 complex128
|
|
}
|
|
|
|
func (Foo) Foo(a []int, b string) int {
|
|
return 1
|
|
}
|
|
|
|
func fn(a int, b float64) int {
|
|
return 1
|
|
}
|
|
|
|
func fn1(fn func(int, float64) int) {
|
|
fn(1, 1.0)
|
|
}
|
|
|
|
func fn2() {
|
|
fn1(fn)
|
|
ch := make(chan int)
|
|
go func() {
|
|
ch <- 1
|
|
}()
|
|
<-ch
|
|
|
|
f := Foo{}
|
|
var foo IFoo = f
|
|
foo.Foo(nil, "")
|
|
}
|