<-
go言語の演算子は何ですか? これは Go に関連する多くのコード スニペットで見られますが、その意味は何ですか?
質問する
10834 次
3 に答える
22
すでに答えが出ていますが、ここに行きます。
チャネルをメッセージ キューと考えてください。
チャネルが左矢印 (<-) 演算子の右側にある場合、エントリをデキューすることを意味します。変数へのエントリの保存はオプションです
e <- q
チャネルが左矢印演算子の左側にある場合、エントリをキューに入れることを意味します。
q <- e
変数に格納せずに「デキュー」(受信) することについてさらに注意してください。Java で「待機/通知」操作のようなものを実装するために、バッファリングされていないキューで使用できます。 、その後、別のコルーチンがそのシグナルをエンキュー/送信しますが、その内容は重要ではありません。(または、受信者がメッセージを引き出すまで送信者をブロックすることもできます)
于 2013-04-13T01:50:36.183 に答える
3
ch
チャネル タイプ のオペランドの場合、受信操作<-ch
の値はチャネルから受信した値ですch
。
チャネルから値を受け取ります。http://golang.org/ref/spec#Receive_operatorを参照してください
于 2013-04-10T13:10:03.060 に答える