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

时间:2019-12-02 09:21:41

标签: go channel

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

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

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

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

1 个答案:

答案 0 :(得分:0)

这不是一个坏习惯。完全可以将一个频道通过另一个频道并使用它来收集结果。

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

如果您在通道中传递了一个函数,而go例程会调用它,那么您将有一个回调。