package main import . "fmt" import "os" import "strconv" func iter(b int, c chan int) { for i := 0; i < b; i++ { c <- i } close(c) } func main() { n, _ := strconv.Atoi(os.Args[1]) c := make(chan int) /* Lanciamo una goroutine concorrente che invia tramite il canale c i primi n interi. */ go iter(n, c) /* Leggiamo da c interi e li stampiamo finché c non viene chiuso. */ for x := range c { Println(x) } }