Channel Your Inner Gopher
Channeling your Inner Gopher - (Literally) Reflecting upon Channels
Many gophers are likely familiar with the communication paradigm, channels. An elegant solution to communicate (uni or bidirectionally) typed information among go-routines. In it’s simplest form, we declare as type-valued channel variable, make it, and then send and receive data through it. Easy enough!
package main
import (
"fmt"
)
func main() {
var simpleChan chan int = make(chan int)
go func(c chan int) {
// send important data to the channel
c <- 42
close(c)
}(simpleChan)
// receive data
num := <-simpleChan
fmt.Printf("got %d\n", num)
}
In our trivial example above, we create an chan int
typed-channel and initialize it using make
.