A channel send places a value, and a receive takes that value back out.

Send and Receive

send_receive.go
package main

import "fmt"

func main() {
	var message = 
	updates := make(chan string, 1)

	updates <- message
	received := <-updates

	fmt.Println("sent=", message)
	fmt.Println("received=", received)
	fmt.Println("empty=", len(updates) == 0)
}
package main

import "fmt"

func main() {
	var message = 
	updates := make(chan string, 1)

	updates <- message
	received := <-updates

	fmt.Println("sent=", message)
	fmt.Println("received=", received)
	fmt.Println("empty=", len(updates) == 0)
}
package main

import "fmt"

func main() {
	var message = 
	updates := make(chan string, 1)

	updates <- message
	received := <-updates

	fmt.Println("sent=", message)
	fmt.Println("received=", received)
	fmt.Println("empty=", len(updates) == 0)
}
channel send The `<-` operator sends into a channel on one side and receives from it on the other.