最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Golang?rabbitMQ生產(chǎn)者消費者實現(xiàn)示例

 更新時間:2022年04月16日 14:41:53   作者:Jeff的技術(shù)棧  
這篇文章主要為大家介紹了Golang?rabbitMQ生產(chǎn)者消費者實現(xiàn)的示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪

消費者

package main
import (
	"fmt"
	"github.com/streadway/amqp"
)
func failOnError(err error, msg string) {
	if err != nil {
		fmt.Println("%s: %s", msg, err)
	}
}
// 只能在安裝 rabbitmq 的服務(wù)器上操作
func main() {
	conn, err := amqp.Dial("amqp://mquser:123456@127.0.0.1/toutiao")
	failOnError(err, "Failed to connect to RabbitMQ")
	defer conn.Close()
	ch, err := conn.Channel()
	failOnError(err, "Failed to open a channel")
	defer ch.Close()
	q, err := ch.QueueDeclare(
		"toutiao.web.test", // 隊列名字
		false,   // durable
		false,   // delete when unused
		false,   // exclusive
		false,   // no-wait
		nil,     // arguments
	)
	failOnError(err, "Failed to declare a queue")
	msgs, err := ch.Consume(
		q.Name, 		// queue
		"toutiao",     // consumer
		true,   // auto-ack,true消費了就消失
		false,  // exclusive
		false,  // no-local
		false,  // no-wait
		nil,    // args
	)
	failOnError(err, "Failed to register a consumer")
	forever := make(chan bool)
	go func() {
		for d := range msgs {
			fmt.Println(fmt.Sprintf("返回的消息:%s",d.Body))
		}
	}()
	fmt.Println("[*] Waiting for messages. To exit press CTRL+C")
	<-forever
}

生產(chǎn)者

body:消息體

package main
import (
	"github.com/streadway/amqp"
	"log"
)
func failOnError(err error, msg string) {
	if err != nil {
		log.Fatalf("%s: %s", msg, err)
	}
}
// 只能在安裝 rabbitmq 的服務(wù)器上操作
func main() {
	conn, err := amqp.Dial("amqp://mquser:123456@127.0.0.1/toutiao")
	failOnError(err, "Failed to connect to RabbitMQ")
	defer conn.Close()
	ch, err := conn.Channel()
	failOnError(err, "Failed to open a channel")
	defer ch.Close()
	q, err := ch.QueueDeclare(
	"toutiao.web.test",   // name
		false, // durable
		false, // delete when unused
		false, // exclusive
		false, // no-wait
		nil, // arguments
)
	failOnError(err, "Failed to declare a queue")
	body := "Hello World!"  //發(fā)送的消息
	err = ch.Publish(
	"",         // exchange
		q.Name, // routing key
		false,  // mandatory
		false,  // immediate
		amqp.Publishing{
		ContentType: "text/plain",
			Body:        []byte(body),
		})
	log.Printf(" [x] Sent %s", body)
	failOnError(err, "Failed to publish a message")
}

以上就是Golang rabbitMQ生產(chǎn)者消費者實現(xiàn)示例解析的詳細(xì)內(nèi)容,更多關(guān)于Golang rabbitMQ生產(chǎn)者消費者的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go語言中rune方法使用詳解

    Go語言中rune方法使用詳解

    本文主要介紹了Go語言中rune方法使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Golang學(xué)習(xí)之內(nèi)存逃逸分析

    Golang學(xué)習(xí)之內(nèi)存逃逸分析

    內(nèi)存逃逸分析是go的編譯器在編譯期間,根據(jù)變量的類型和作用域,確定變量是堆上還是棧上。本文將帶大家分析一下Golang中的內(nèi)存逃逸,需要的可以了解一下
    2023-01-01
  • golang類型斷言的實現(xiàn)示例

    golang類型斷言的實現(xiàn)示例

    在Go語言中,類型斷言用于從接口類型獲取其具體類型的值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • Bililive-go 實現(xiàn)直播自動監(jiān)控錄制功能

    Bililive-go 實現(xiàn)直播自動監(jiān)控錄制功能

    最近有直播錄制的需求,但是自己手動錄制太麻煩繁瑣,于是用了開源項目Bililive-go進行全自動監(jiān)控錄制,對Bililive-go 直播自動監(jiān)控錄制實現(xiàn)思路感興趣的朋友,一起看看吧
    2024-03-03
  • golang 將[]byte轉(zhuǎn)成16進制的實現(xiàn)

    golang 將[]byte轉(zhuǎn)成16進制的實現(xiàn)

    這篇文章主要介紹了golang 將[]byte轉(zhuǎn)成16進制的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go語言for range(按照鍵值循環(huán))遍歷操作

    Go語言for range(按照鍵值循環(huán))遍歷操作

    這篇文章主要介紹了Go語言for range(按照鍵值循環(huán))遍歷操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 深入理解Go中的項目代碼布局

    深入理解Go中的項目代碼布局

    Go?語言的創(chuàng)世項目其實就是?Go?語言項目自身,是全世界第一個?Go?語言項目,本文主要來和大家詳細(xì)介紹一下Go中的項目代碼布局,需要的可以了解下
    2023-11-11
  • 一文帶你掌握Golang中的類型斷言

    一文帶你掌握Golang中的類型斷言

    類型斷言是?Golang?中的一個非常重要的特性,使用類型斷言可以判斷一個接口的實際類型是否是預(yù)期的類型,以便進行對應(yīng)的處理,下面就跟隨小編一起深入了解一下Golang中的類型斷言吧
    2024-01-01
  • golang并發(fā)編程中Goroutine 協(xié)程的實現(xiàn)

    golang并發(fā)編程中Goroutine 協(xié)程的實現(xiàn)

    Go語言中的協(xié)程是一種輕量級線程,通過在函數(shù)前加go關(guān)鍵字來并發(fā)執(zhí)行,具有動態(tài)棧、快速啟動和低內(nèi)存使用等特點,本文就來詳細(xì)的介紹一下,感興趣的可以了解一下
    2024-10-10
  • Go處理json數(shù)據(jù)方法詳解(Marshal,UnMarshal)

    Go處理json數(shù)據(jù)方法詳解(Marshal,UnMarshal)

    這篇文章主要介紹了Go處理json數(shù)據(jù)的方法詳解,Marshal(),UnMarshal(),需要的朋友可以參考下
    2022-04-04

最新評論

辰溪县| 读书| 依安县| 仙居县| 托克逊县| 黄大仙区| 佛山市| 抚宁县| 和林格尔县| 克拉玛依市| 丰都县| 永年县| 承德县| 逊克县| 梁山县| 蕉岭县| 南部县| 巍山| 台州市| 彭泽县| 武冈市| 西和县| 南漳县| 醴陵市| 项城市| 栾川县| 芜湖县| 龙泉市| 泉州市| 涡阳县| 朔州市| 防城港市| 怀集县| 怀化市| 五莲县| 大名县| 宣汉县| 淅川县| 柘荣县| 华蓥市| 金华市|