gpt4 book ai didi

go - 函数末尾缺少返回

转载 作者:数据小太阳 更新时间:2023-10-29 03:43:43 24 4
gpt4 key购买 nike

我有一个 getQueue() 函数来为我的 Go 客户端创建到 RabbitMQ 实例的连接和 channel 。我有上述功能的代码:

func getQueue() (*amqp.Connection, *amqp.Channel, *amqp.Queue) {
conn, err := amqp.Dial("amqp://ayman@localhost:5672")
fallOnError(err, "Fail to connect")
ch, err := conn.Channel()
fallOnError(err, "Fail to open channel")
q, err := ch.QueueDeclare("hello",
false, //durable
false, //autoDelete
false, //exclusive
false, //noWait
nil) //args
fallOnError(err, "Fail to delare a queue")

}

我收到此错误 Missing return at end of function 同样。我尝试在函数末尾使用返回键盘,但随后出现此错误:

not enough arguments to return
have ()
want (*amqp.Connection, *amqp.Channel, *amqp.Queue)

我提到的源视频没有任何此类问题。我正在使用 Go 版本 go1.11.4 linux/amd64 的 Ubuntu 机器。我正在使用安装了 go-lang 工具包的 Atom 编辑器。

编辑解决方案是我需要 3 个参数来返回return conn,ch,&q 解决了我的问题。

最佳答案

代码的 (*amqp.Connection, *amqp.Channel, *amqp.Queue) 部分说你的函数返回 3 个东西,但你没有返回任何东西,这就是你得到错误的原因。尝试添加

return conn, ch, q

应该解决问题的代码

关于go - 函数末尾缺少返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54070857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com