package main import "fmt" func Sun (val int,res chan int) { val+=val res <- val return } func main () { // 建立能存放 int 數據的管道 chan channel var c = make(chan int,3) var arr = []int{1,2,3} // 建立10個攜程 for i:=0; i<len(arr); i++{ go Sun(arr[i],c) } // chan 從管道中取出 var val1,val2,val3 = <-c,<-c,<-c fmt.Println("val1=",val1) fmt.Println("val2=",val2) fmt.Println("val3=",val3) defer close(c) }