goroutine channel数据传递代码示例
代码语言:golang
所属分类:高性能
代码描述:goroutine channel数据传递代码示例
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
package main import ( "fmt" "time" ) type PipeData struct { //定义结构体 PipeData value int handler func(int) int next chan int } func Handle(queue chan *PipeData) { for data := range queue{ fmt.Println("value=",data.value) fmt.Println("handler=",data.handler) fmt.Println("next=",data.next) data.next <- data.handler(data.value) } } func main() { bfw := make(chan *PipeData) //由于Handle支持传入指针类型的*PipeData,因此我们初始化的时候要个其类型保持一致。 go func() { //我们开启一个goroutine,让其不断的发送数据。 data := &PipeData{value:100,handler: func(i int) int { return i }} //我们需要将数据定义好,这个data就是我们需.........完整代码请登录后点击上方下载按钮下载查看
网友评论0