您的位置 首页 编程知识

为什么使用 Go 遍历信道时数字出现奇数?

使用 go 遍历信道时数字出现奇数的原因 在 go 中,如下所示的代码段将生成奇数: package main…

为什么使用 Go 遍历信道时数字出现奇数?

使用 go 遍历信道时数字出现奇数的原因

在 go 中,如下所示的代码段将生成奇数:

package main  import "fmt"  func main() {     ch := make(chan int, 10)     for i := 0; i < 10; i++ {         ch <- i     }     close(ch)     for range ch {         fmt.println(<-ch)     } }
登录后复制

原因:

原因在于你在遍历过程中还在读取信道。最初,遍历每前进一步读取一个值,但是你在遍历中又读取了一次值,导致又前进了下一步。

为了单纯地遍历并打印写到信道中的值,可以将遍历部分修改为:

for v := range ch {     fmt.Println(v) }
登录后复制

以上就是使用 Go 遍历信道时数字出现奇数?的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/3486.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部