gpt4 book ai didi

string - 调试检查器显示奇怪的字符?

转载 作者:IT王子 更新时间:2023-10-29 02:12:37 26 4
gpt4 key购买 nike

我是第一次接触 Go,终于在我的 Win10 机器上运行了。终于在 IntelliJ IDEA 中设置了断点,我在调试器窗口中看到了类似的东西。那些乱七八糟的 unicode 字符实际上应该是来自 MongoDB 的 24 个字符的 HEX id。

我最好的猜测是,这是 mgo 没有正确解码 ObjectId 对象的问题,但这似乎不是任何正在运行的开发人员的问题linux 或 macOS,所以也许这只是 Windows 的问题?

如有任何意见,我们将不胜感激!

obfuscated screenshot

最佳答案

这里没有错误。 bson.ObjectId具有 string 的基础类型:

type ObjectId string

但它用于存储 12 个“任意”字节(“任意”意味着它不应该被 rune 解释,并且它不是有效的 UTF-8 编码序列)。对于人类,它通常使用其字节的十六进制表示来显示。

调试器不享受这种便利。他们看到它是一个 string,所以他们试图将它显示为 string(即使这不是故意的)。这不仅仅是 Windows 独有的事情,带有 delve 调试器的 Atom 编辑器在 Linux 上也做同样的事情。不用担心。

如果你打印一个ObjectId,它通常是fmt包的“东西”使用它的 String() 方法获取要显示的 string 值。调试器不一定会这样做。

关于string - 调试检查器显示奇怪的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41818044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com