用于回调,将通道作为数据通过其他通道传递

问题描述 投票:-2回答:1

我正在尝试以成员身份加入结构的通道。当该结构的一个实例由启动程序(将同时存在多个启动程序)通过通道传递给不同的goroutine时,将逐步对其进行处理。并且该通道成员将用作回调,该回调将每个步骤的结果返回给发起者。

因此,将通道作为数据通过其他通道进行传递是一种好习惯吗?我应该改用通道的指针吗?还有其他建议的模式吗?

=================一些其他想法===============>

比较是否具有全局同步。将启动程序映射到每个要查找的goroutine的回调通道,我是否应该通过通道实际发送回调通道?

我正在尝试以成员身份加入结构的通道。当启动程序通过通道将struct的实例传递到不同的goroutine时,将逐步对其进行处理(... ... >>

go channel
1个回答
0
投票
这不是一个坏习惯。将一个频道通过另一个频道并使用它来收集结果是完全可以的。

请注意,由于go例程不会调用任何内容,因此您所描述的不完全是回调。它只是在通过通道传输的通道中写入数据。

© www.soinside.com 2019 - 2024. All rights reserved.