登录
首页 >  Golang >  Go问答

回调传递数据时利用通道传递信息

来源:stackoverflow

时间:2024-03-14 14:54:24 376浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《回调传递数据时利用通道传递信息》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我正在尝试将一个通道作为成员包含到结构中。当启动器通过通道将结构体的实例传递给不同的 goroutine 时(将同时有多个启动器),该结构体的实例将被逐步处理。 通道成员将用作回调,将每个步骤的结果返回给发起者。

那么,通过其他通道将通道作为数据传递是一个好习惯吗? 我应该使用通道的指针吗? 还有其他模式推荐吗?

==================一些额外的想法==============

与使用全局sync.Map将启动器映射到每个goroutine要查找的回调通道相比,我实际上应该通过通道发送回调通道吗?


解决方案


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

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

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

以上就是《回调传递数据时利用通道传递信息》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>