go - 无法打印出 []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
}
有没有人知道为什么这没有打印出来?谢谢你。
解决方案
推荐阅读
- visual-studio-code - VSCode 扩展清单 - 带有 % 符号的值
- mysql - 使用 Node.js mysql 模块进行远程 MySQL 查询
- java - 如何堆化最大堆?
- reactjs - 将辅助功能道具传递给 Material-ui-pickers Calendar 中的嵌套按钮
- fortran - 声明所有 Fortran 模块变量以 OpenMP 4.5+ 为目标
- c++ - 在使用 Visual Studio 发布 c++ 应用程序期间有什么方法可以注入新版本号?
- angular - 在角度中使用共享模块的问题
- sql-server - 将 SQL Server 2016 表公开为 Rest API 而不使用内置配置进行编码?
- javascript - 在加载库之前执行的 Analytics.js 回调
- spring - 在 Application.doWithSpring() 中访问环境属性