参照ページ
https://qiita.com/mztnnrt/items/6bcc4205e48cb5e72e4b
package main import "fmt" func main() { ch := make(chan int) go receiver(ch) i := 0 for i < 1000 { ch <- i // チャネルにデータ送る i++ } } func receiver(ch <-chan int) { for { // チャネルへデータがきたら回る i := <- ch // チャネルからデータを受取 fmt.Println(i) } }
受信専用は<- chan、送信専用はchan <-と本文にあるのですが、func receiver(ch <-chan int)と受信専用にしている後にi := <- chとiに送信ができているのが意味がわからないのですがどういう意味になるのでしょうか?
元々ch := make(chan int)と送信受信両方できる?宣言をしているのにfunc receiver(ch <-chan int)とあるのも意味がよくわからないのですが、ch <-chan intは受信専用のchを受け取るということではなく受け取ったchを受信専用にするということで良いのでしょうか?
go1.13.5go
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/01/08 07:51
2020/01/08 23:51
退会済みユーザー
2020/01/09 02:36