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

Goソースコードファイルを2つ作成し、上記の画像/図のように1つのチャネルでデータを送受信できますか?したがって、これらのファイルは、ソースコードが実行されている間にデータを送信しながら互いに通信することができます。別のgolangパッケージ/ファイルで1つのチャネルでデータを送受信する

+2

はいできます。これは単なるアイデアです。同じパッケージ内にある場合は、パッケージスコープチャネルを定義して送受信できます。別のパッケージの場合は、送信/受信するメソッドにパラメータとしてチャネルを渡します。必要に応じて実装してください。 – jeevatkm

+0

ありがとうございました、私はこれを試してみます.. :) –

答えて

1

チャンネルは、int,[]byteまたはboolのように、Goの変数です。パッケージ間で変数を渡すことができれば、明らかにパッケージ間にチャネルを渡すこともできます。あるパッケージから別のパッケージにチャネルを渡すと、他の変数と同じように自由にそのパッケージを使用することができます。つまり、あるパッケージでデータを送信し、別のパッケージで受信することができます。

最終的にチャンネルは、パッケージ間で共有できないとあまり役に立たないでしょう。

+0

ありがとう、これは私にインスパイアされています(y) –

関連する問題