在聲明channel對象的參數時,一定要寫成 c chan xxx,xxx代表channel的類型。例如
package main
import (
"fmt"
//"time"
)
func main() {
c := make(chan bool, 1)
for i := 0; i < 10; i++ {
go Go(c, i)
}
<-c
}
func Go(c chan bool, index int) {
sum := 0
for i := 0; i < 1000000; i++ {
sum += i
}
fmt.Println(sum)
c <- true
}
這裏的chan C變量是bool類型,所以需要在聲明方法的參數時,也要加上這個bool類型。
這點跟java有所不同,剛開始看一直沒搞懂,