go语言从例子开始之Example30.通道遍历
2019-10-29 09:27 _天枢 阅读(207) 评论(0) 编辑 收藏 举报在前面的例子中,我们讲过 for
和 range
为基本的数据结构提供了迭代的功能。我们也可以使用这个语法来遍历从通道中取得的值
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
作 者:
天枢
出 处:
http://www.cnblogs.com/yhleng/
关于作者:专注于软件自动化测试领域。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者
直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角
【
推荐】
一下。您的鼓励是作者坚持原创和持续写作的最大动力!