チャネルは同時実行の goroutine を接続するパイプです。1 つの goroutine からチャネルに値を送信でき、別の goroutine でその値を受信できます。
|
|
|

package main
|
|
import "fmt"
|
|
func main() {
|
make(chan val-type) を使用して新しいチャネルを作成します。チャネルは、自身が伝達する値によって型付けされます。
|
messages := make(chan string)
|
channel <- 構文を使用してチャネルに値を送信します。ここでは、新しく作成した goroutine から "ping" を上で作成した messages チャネルに送信します。
|
go func() { messages <- "ping" }()
|
<-channel 構文はチャネルから値を受信します。ここでは上で送信した "ping" メッセージを受信して出力します。
|
msg := <-messages
fmt.Println(msg)
}
|