登录
首页 >  Golang >  Go问答

在函数中将通道作为参数传递的不同方法

来源:Golang技术栈

时间:2023-03-23 08:54:06 406浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《在函数中将通道作为参数传递的不同方法》,这篇文章主要会讲到golang等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我正在阅读一些 go 代码,并说一些不同的方式来传递 go 通道。也许它们是相同的,但我想知道是否有任何区别,因为我在网上找不到文档:

func serve(ch 
func serve(ch chan
func serve(ch chan interface{}){ //do stuff }
func server(ch *chan interface{}){ //do stuff}

我想知道它们之间的区别是什么,以及它们是否只是做同样事情的等效方法:围绕不同的 goroutine 传递一个通道。

注意:我知道没有理由将指针传递给 chan、map、slice 或函数值,因为这些都是内部包含指针的引用类型(如果您希望被调用者更改引用类型标头)。我提供它的唯一原因是为了完整性(即真正提供可以尝试将通道作为参数传递的每一种方式,并提出希望引用所有方式来实现这一点并比较它们的问题)。

正确答案

这些是不同 类型 的渠道。请参阅http://golang.org/ref/spec#Channel_types。对于指针的东西:不常见,但如果你想从函数内部更改通道可能会很有用(在野外从未见过)。

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

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