我是 Go 的新手,如果我的問題看起來很愚蠢,我很抱歉。我很難掌握 Golang 中的通道語法和詞匯,特別是當它涉及方向時。當我讀到這c chan<- int是一個“僅發送”通道時,我知道該通道只能發送數據。但似乎恰恰相反,我們只能往這個chan里放東西。對于“僅接收”通道也是如此c <-chan int:對我來說,這是一個只能接收數據的通道,但似乎這種通道只能發送數據而不能接收一些數據。你看,我真的很困惑,所以如果你有更好的方法來解釋它,或者有一個好的記憶方法來理解它,我將在余下的日子里感謝你!
1 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
該通道無法發送或接收數據。您可以在通道上發送數據,也可以從通道接收數據。然后方向正如它的名字所說的那樣。
另請注意,“箭頭”使方向可視化。chan
如果它像 一樣指向通道(指向)?c chan<- int
,則它是僅發送的。如果它指向遠離通道(在 之外chan
)的地方,例如c <-chan int
,則它是僅接收的。
實際發送任何內容(發送語句)c <- 1
或從中接收內容(接收操作符)也是如此a = <-c
。
- 1 回答
- 0 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消