通常都是定義讀寫雙向的 chan,定義單向 chan 問題。
專欄的介紹可以參考 《GotchaGolang專欄》,代碼可以看《寶庫-Gotcha》。
通過 只寫 chan 傳遞另一個只讀的 chan,怎么寫?
案例
平常一般是這么聲明 chan 的:
1 |
package main |
要聲明一個單向的 chan 可以使用這一的方式: 大專欄 Golang: chan定義問題(7)p>
1 |
chan<- float64 // 只寫 float64 類型變量 (write-only) |
傳遞 chan 變量怎么辦?
1 |
chan<- chan int //傳遞雙向 chan, 同 chan<- (chan int) |
總結
定義只讀,只寫的類型,看上去比較詭異,可以把 <-chan
,chan<-
看做類型即可,同 chan
一樣。
Merlin 2018.3 chan 的定義問題