在声明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有所不同,刚开始看一直没搞懂,