package main import . "fmt" func sum(f []int, c chan int) { s := 0 for _, x := range f { s += x } c <- s } func main() { c := make(chan int) f := []int { 9, 1, 10, -1, -5, -7, 1, 100 } /* Lanciamo due goroutine concorrenti che sommano i valori nella prima e seconda metà di f. */ go sum(f[:len(f)/2], c) go sum(f[len(f)/2:], c) /* Raccogliamo i risultati attraverso il canale c e stampiamo la somma. */ Println(<- c + <- c) }