Go语言核心部分就一个关键字go
package main import ( "fmt" "runtime" "time" ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) c := make(chan int, 10) go func() { for i := 0; i < 20; i++ { c <- i fmt.Println("write", i) } close(c) }() for v := range c { fmt.Println("read", v) time.Sleep(1 * time.Second) } }make创建chanel的时候可以指定是否有缓存,有缓存的chanel在缓冲区被填满之前是不会阻塞的。
有疑问加站长微信联系(非本文作者)