🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
初始化 ~~~ package RabbitMQ import ( "fmt" "github.com/streadway/amqp" "log" ) // url 格式 amqp://账户:秘密@rabbitmq服务器地址:端口号/host const MQURL = "amqp://guest:guest@127.0.0.1:5672/" type RabbitMQ struct { conn *amqp.Connection channel *amqp.Channel // 队列名称 QueueName string // 交换机 Exchange string // key Key string // 连接信息 Mqurl string } // 创建RabbitMQ结构体实例 func NewRabbitMQ(queueName,exchange,key string) *RabbitMQ { mq := &RabbitMQ{ QueueName: queueName, Exchange: exchange, Key: key, Mqurl: MQURL, } connection, e := amqp.Dial(mq.Mqurl) mq.failOnErr(e,"创建连接失败") channel, e := connection.Channel() mq.failOnErr(e,"获取channel失败") mq.conn = connection mq.channel = channel return mq } // 断开channel和connection func (r *RabbitMQ) Destroy() { r.channel.Close() r.conn.Close() } // 错误处理函数 func (r *RabbitMQ) failOnErr (err error,message string) { if err != nil { log.Fatal("%s:%s",message,err) panic(fmt.Sprintf("%s:%s",message,err)) } } ~~~