如何从协程中获取返回值?

btsome · · 1763 次点击
``` package main import ( "fmt" "time" ) func main() { msg_chan := make(chan []byte, 4) go func() { for { sm := []byte{1, 2, 3, 4} msg_chan <- sm time.Sleep(500 * time.Millisecond) } }() for item := range msg_chan { fmt.Println(item) } } ``` 写了个demo,测试没问题。你估计是业务代码导致的吧。这应该没毛病
#5
更多评论
你怎么用的chan?
#1
你好,我在协程外定义了一个msg_chan := make(chan []byte, 4) 然后在 else 里面加了个msg_chan <- sm 最后在协程外,使用 for 的方式将 channel 的内容取出来,可以取出来但是结果不是我想要的
#2