gobyexample/40-directions.go
Mark McGranaghan 098a71ef89 more
2012-09-16 16:19:36 -07:00

36 lines
562 B
Go

package main
import "fmt"
func pinger(pings chan<- string) {
for i := 0; i <= 10; i++ {
pings <- "ping"
}
}
func ponger(pings <-chan string, pongs chan<- string) {
for {
<- pings
pongs <- "pong"
}
}
func printer(pongs <-chan string) {
for {
msg := <- pongs
fmt.Println(msg)
}
}
func main() {
var pings chan string = make(chan string)
var pongs chan string = make(chan string)
go pinger(pings)
go ponger(pings, pongs)
go printer(pongs)
var input string
fmt.Scanln(&input)
}