Skip to content

Range over channels

The for range loop can iterate over values sent on a channel until the channel is closed. This is a clean way to receive all values.

Send multiple values and use range to receive them.

package main
import "fmt"
func main() {
ch := make(chan int, 3)
ch <- 10
ch <- 20
ch <- 30
close(ch)
for v := range ch {
fmt.Println(v)
}
}
Terminal window
10
20
30