Channels are the pipes that connect concurrent goroutines
package main
import "fmt"
func main() {
messages := make(chan string) // goroutine 에서 생성되는 string 을 받을 channel
go func() { messages <- "ping" }()
msg := <-messages // 위의 함수에서 messages 에 "ping" 이 전달될 때까지 대기하고 msg 에 저장
fmt.Println(msg)
}
$ go run channels.go
ping