通过不同golang包/文件

时间:2017-06-21 07:32:16

标签: go

+----------------+                       +-----------------+
| Channel foo    |                       | Channel foo     |
| a.go           |                       | b.go            |
+----------------+                       +-----------------+
       |                                          |
       |__________________________________________|
        Send or receive data through 'foo' channel

我可以创建两个Go源代码文件,并通过一个通道发送或接收数据,如上图/插图所述?因此,当源代码运行时,这些文件可以通过发送数据相互通信。

1 个答案:

答案 0 :(得分:4)

频道只是Go中的变量,例如int[]bytebool。如果你可以在包之间传递任何变量,那么显然你也可以在包之间传递通道。一旦你将一个频道从一个频道传递到另一个频道,你当然可以自由地在那里使用它,就像你对任何其他变量一样。这意味着您可以在一个包中发送数据,然后在另一个包中接收数据。

如果不能在包之间共享渠道,最终渠道将不会非常有用。