登录
首页 >  Golang >  Go问答

将从通道输出出错的变量

来源:stackoverflow

时间:2024-02-13 13:00:24 328浏览 收藏

本篇文章给大家分享《将从通道输出出错的变量》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

package main

import "fmt"

func main() {

    c := make(chan int, 5)
    c <- 5
    c <- 6
    close(c)
    fmt.Println(<-c)

}

上面的程序不应该打印 6,因为它是发送到通道的最后一个值?

更重要的是,是否可以从封闭通道打印/接收?

打印 5


正确答案


Golang 通道是 FIFO 的,先进先出。这就是为什么首先打印 5 的原因。

编辑:关闭通道表示不会再向其发送更多数据。

“如果通道关闭,您仍然可以读取数据。但不能发送 新数据进入其中。该程序在关闭之前和之后读取 频道,有效。仅在发送时关闭”

https://golangr.com/close-channel/

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>