我有一个函数,该函数接收使用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
}
有人对为什么不打印出来有任何想法吗?谢谢。