Channel Direction (uni/bi)
func Ping( c chan<- string, msg string){
c <- msg
}
func Pong( c <-chan string, cc chan<- string ){
msg := <-c
cc <- msg
}
func main(){
pic := make(chan string, 1)
poc := make(chan string, 1)
Ping(pic, "Pass the message")
Pong(pic, poc)
fmt.Println(<-poc)
}Channels with Range and Close
func fib(num int, c chan int) {
x, y := 0, 1
for i := 0; i < num; i++ {
c <- x
x, y = y, x+y
}
close(c)
}
func main() {
c := make(chan int, 10)
go fib(cap(c), c)
for i := range c {
fmt.Println(i)
}
}Last updated