在Go中操作RabbitMQ,你可以使用streadway/amqp
库。以下是一个简单的例子,展示了如何连接到RabbitMQ,发送一条消息,并接收和打印这条消息。
首先,你需要安装amqp
库:
go get github.com/streadway/amqp
然后,你可以使用以下代码操作RabbitMQ:
package main
import (
"fmt"
"log"
"github.com/streadway/amqp"
)
func failOnError(err error, msg string) {
if err != nil {
log.Fatalf("%s: %s", msg, err)
}
}
func main() {
// 连接到RabbitMQ服务器
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
failOnError(err, "Failed to connect to RabbitMQ")
defer conn.Close()
// 创建一个channel
ch, err := conn.Channel()
failOnError(err, "Failed to open a channel")
defer ch.Close()
// 发送消息
body := "Hello, RabbitMQ!"
err = ch.Publish(
"", // exchange
"hello", // routing key
false, // mandatory
false, // immediate
amqp.Publishing{
ContentType: "text/plain",
Body: []byte(body),
})
failOnError(err, "Failed to publish a message")
log.Printf("Sent %s", body)
}
在上面的代码中,我们首先尝试连接到本地的RabbitMQ服务器,然后创建一个channel。之后,我们发布一条消息到名为hello
的routing key。
请确保RabbitMQ服务正在运行,并且你有足够的权限来连接和操作队列。上面的代码假设RabbitMQ服务运行在本地并使用默认的用户和密码(都是guest
)。如果你的RabbitMQ服务器配置不同,请相应地修改连接参数。