首页 > 解决方案 > 无法打印出 []byte 数据 MQTT

问题描述

我有一个函数接收使用 MQTT 发送的 JSON 数据并将其解组为结构。然后,我将结构编组为 JSON,以检查它是否包含所需的值。我的问题是我在编组后无法打印数据。

这是我的代码:

func VirtualDevice(client MQTT.Client, deviceID string) *VD {

var data []byte

sensorData := new(VD)

var g MQTT.MessageHandler = func(client MQTT.Client, msg MQTT.Message) {
    err := json.Unmarshal(msg.Payload(), &sensorData)
    if err != nil {
        panic(err)
    } else {

        //fmt.Printf("%+v\n", *sensorData) 

    }
}
client.Subscribe("data-update/"+deviceID, 0, g)
data, _ = json.Marshal(*sensorData)
fmt.Println(string(data)) //not printing anything
return sensorData
}

有没有人知道为什么这没有打印出来?谢谢你。

标签: gostructchannel

解决方案


推荐阅读