Golang中国

for _, channal := range this.channels {
channal <- msg
}
怎么样不阻塞发送给所有的chan

2 回复
heimeil
#1 heimeil • 2016-03-20 01:08
for _, channal := range this.channels {
    go func() {
        channal <- msg
    }()
}
stevewang
#2 stevewang • 2016-03-20 21:28

1楼的写法有点问题。
正确的应该是

for _, channal := range this.channels {
    go func(ch chan MsgType) {
        ch <- msg
    }(channel)
}
需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。