【发布时间】:2020-03-26 21:11:15
【问题描述】:
我正在尝试将通道作为成员包含到结构中。当一个启动器通过通道将结构的实例传递给不同的 goroutine 时(将同时有多个启动器),该结构的实例将被逐步处理。 通道成员将作为回调,将每一步的结果返回给发起者。
那么,通过其他渠道将渠道作为数据传递是一种好习惯吗? 我应该改用频道的指针吗? 有没有其他推荐的模式?
=================一些额外的想法==============
比较有一个全局同步。将映射启动器映射到回调通道以供每个 goroutines 查找,我真的应该通过通道发送回调通道吗?
【问题讨论】:
-
没有理由使用通道指针,除非您需要接收器来修改它。除此之外,通过频道发送频道是否是一种好方法是意见和/或实施的问题。
-
@Flimzy 谢谢!好吧,我想我不希望接收者修改回调通道。所以,没有指针。
-
@Flimzy 至于这是否是一个好方法,你能解释一下你提到的观点和/或实现吗?
-
不,该主题太宽泛,无法在评论中涵盖,而且对于问题/答案来说是题外话。更好的方法是解释你的实际目标,而不是笼统地抽象。