您的位置:首页 > 编程语言 > Go语言

go 使用 goroutine channel 通信

2017-08-15 23:03 525 查看
packagemain
import (
    "fmt"
)
func Cnt(ch chan int) {
    ch <- 1
    fmt.Println("counting")
}
func main() {
    chs := make([]chan int, 20)
    for i := 0; i < 20; i++ {
        chs[i] = make(chan int)
        go Cnt(chs[i])
        fmt.Println("Count", i)
    }
    for i, ch := range chs {
        <-ch
        fmt.Println("counting", i)
    }
}
运行:
go run channel.go
结果:
Count 0
Count 1Count 2Count 3Count 4Count 5Count 6Count 7Count 8Count 9Count 10Count 11Count 12Count 13Count 14Count 15Count 16Count 17Count 18Count 19counting 0counting 1counting 2counting 3counting 4counting 5countingcounting 6counting 7counting 8countingcountingcountingcountingcountingcountingcounting 9counting 10counting 11countingcountingcountingcounting 12counting 13counting 14counting 15counting 16countingcountingcountingcounting 17counting 18countingcountingcountingcountingcountingcounting 19

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: