2017-06-21 40 views
-1
+----------------+      +-----------------+ 
| Channel foo |      | Channel foo  | 
| a.go   |      | b.go   | 
+----------------+      +-----------------+ 
     |           | 
     |__________________________________________| 
     Send or receive data through 'foo' channel 

我可以創建兩個Go源代碼文件並通過一個通道發送或接收數據,如上面的圖像/插圖所述?因此,這些文件可以在源代碼運行時通過發送數據相互通信。通過不同的golang包/文件上的一個通道發送和接收數據

+2

是的,你可以。這只是一個想法。如果它在同一個包中,則可以定義包範圍通道,然後進行發送和接收。如果不同的包將通道作爲參數傳遞給您要發送/接收的方法。根據您的需要實施它。 – jeevatkm

+0

謝謝哥們,我會試試這個.. :) –

回答

1

通道只是Go中的變量,如int,[]bytebool。如果可以在包之間傳遞任何變量,那麼顯然可以在包之間傳遞通道。一旦你從一個包到另一個包傳遞了一個頻道,你當然可以在那裏使用它,就像你使用其他變量一樣。這意味着您可以在一個包中發送數據,並在另一個包中接收數據。

如果無法在軟件包之間共享頻道,則最終頻道不會非常有用。

+0

謝謝大家,這激勵着我(y) –

相關問題