在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在前面的例子中,我们讲过 Example: package main import "fmt" //这个例子也让我们看到,一个非空的通道也是可以关闭的 //但是通道中剩下的值仍然可以被接收到。 func main() { jobs := make(chan string, 2) jobs <- "one" jobs <- "two" //这个 range 迭代从 queue 中得到的每个值。因为我们在前面 close 了这个通道, //这个迭代会在接收完 2 个值之后结束。如果我们没有 close 它, //我们将在这个循环中继续阻塞执行,等待接收第三个值 close(jobs) //我们将遍历在 jobs 通道中的两个值。 for ele := range jobs{ fmt.Println(ele) } } Result: $ go run example.go
one
two
|
请发表评论