# rabbitTool **Repository Path**: DuanZhang/rabbitTool ## Basic Information - **Project Name**: rabbitTool - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-29 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rabbitTool #### 介绍 - rabbitmq 快速操作库 - 自动创建exchange - 自动创建queue - 自动绑定RouteKey关系 #### 安装教程 ```shell go get gitee.com/DuanZhang/rabbitTool ``` #### 使用说明 ```go func main() { var ( mqHost = "127.0.0.1" mqPort = "5672" mqUser = "guest" mqPassword = "guest" RabbitURL = fmt.Sprintf("amqp://%v:%v@%v:%v/", mqUser, mqPassword, mqHost, mqPort) ChanApi *rabbitTool.MQConnection ExchangeName = "exchange" QueueName = "queue" RouteKey = "route" messages <-chan amqp.Delivery err error ) // 创建RabbitMQ connection if err = rabbitTool.Connection(RabbitURL); err != nil { log.Panic(err) } // 创建RabbitMQ 操作Channel if ChanApi, err = rabbitTool.Channel(ExchangeName, QueueName, RouteKey); err != nil { log.Panic(err) } // 创建exchange if err = ChanApi.Exchange("topic", true, false); err != nil { log.Panic(err) } // 创建queue if err = ChanApi.Queue(true, false); err != nil { log.Panic(err) } // 绑定routeKey if err = ChanApi.Bind(); err != nil { log.Panic(err) } //发送消息 message := []byte("hello world") headers := amqp.Table{ "sender": "me", } if err = ChanApi.Publish(message, headers, "uuid"); err != nil { log.Panic(err) } // 接收消息 consumerName := "consumerName" if messages, err = ChanApi.Consume(consumerName, false); err != nil { log.Panic(err) } for v := range messages { fmt.Printf("接收到消息:%s", string(v.Body)) fmt.Printf("接收到消息ID:%s", string(v.CorrelationId)) } } ```