关闭。这个问题是opinion-based .它目前不接受答案。
想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.
2年前关闭。
Improve this question
我正在尝试将 channel 作为成员包含到结构中。当一个启动器通过 channel 将结构的实例传递给不同的 goroutine 时(将同时有多个启动器),该结构的实例将被逐步处理。
channel 成员将用作回调,将每个步骤的结果返回给发起者。
那么,通过其他 channel 将 channel 作为数据传递是一种好习惯吗?
我应该改用 channel 的指针吗?
有没有其他款式推荐?
=================一些额外的想法==============
比较有一个全局同步。映射启动器到回调 channel 以供每个 goroutines 查找,我真的应该通过 channel 发送回调 channel 吗?
最佳答案
这不是一个坏习惯。将一个 channel 通过另一个 channel 并使用它来收集结果是完全可以的。
请注意,您所描述的并不完全是回调,因为 go 例程不调用任何东西。它只是在通过 channel 传输的 channel 中写入数据。
如果您在 channel 中传递了一个函数并且 go 例程会调用它,那么您将有一个回调。
关于go - 对于回调,将 channel 作为数据通过其他 channel 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59135817/