我关于StackOverflow的第一个问题:D
我正在运行1.16。我创建了这个函数:
func (_m *MyPool) InChannel(outs ...chan interface{}) error {
for _, out := range outs {
out = _m.inChan
}
return nil
}
MyPool 是一种工作线程池类型,其中包含以下成员:
type MyPool struct {
inChan chan interface{}
}
我的主要问题是 Go 在 Variadic 输入的范围内标记循环变量。为什么?我确实在使用它...outInChannel
对不起,我是StackOverflow的菜鸟,所以我正在编辑以澄清一下。我确实想分配,而不是发送。这是因为发送方将具有 as 成员变量,并将通过以下方式发送值:outChan chan interface{}
func (s *Sender) Out(out interface{}) {
select {
case <-s.Ctx.Done():
return
case s.outChan <- out:
return
}
}
编辑:所以我最终通过做来解决它:
func (m *MyPool) InChannel(outs ...*chan interface{}) error {
for _, out := range outs {
*out = m.inChan
}
return nil
}
守候你守候我
相关分类