channel
channel类似于UNIX里的管道,用于goruntines之间的通讯
package main
import (
"fmt"
"runtime"
)
type Person struct {
name string
}
func (p Person) callSomebody(name string) {
fmt.Println(p.name, name)
}
type Men interface {
callSomebody(name string)
}
func say(s string, cn chan Men) {
for i := 0; i < 5; i++ {
runtime.Gosched()
fmt.Println(s)
}
men := Person{"men"}
cn <- men
}
func main() {
c := make(chan Men)
go say("aaaa", c)
// say("aaaaaaaaa")
x := <-c
x.callSomebody("hhh")
fmt.Println(x)
}