登录
首页 >  Golang >  Go教程

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

时间:2024-12-24 16:36:54 237浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《为什么使用 Go 遍历信道时数字出现奇数?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

为什么使用 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 遍历信道时数字出现奇数?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>