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)

}

posted on 2013-03-06 00:26  Bridge M  阅读(195)  评论(0编辑  收藏  举报

导航