我只是第一次进入Go,并最终让我的Win10机器上运行的东西。最后得到了IntelliJ IDEA内部的断点,我在调试器窗口中看到类似这样的东西。那些乱码字符应该实际上是来自MongoDB的24个字符的十六进制标识符。Debug Inspector显示奇怪的字符?
我最好的猜测是,这是与氧化镁无法正常解组ObjectId
对象的问题,但这似乎并没有对任何运行Linux或Mac系统的开发者的问题,所以也许它只是一个Windows的事情?
任何输入将不胜感激!
我只是第一次进入Go,并最终让我的Win10机器上运行的东西。最后得到了IntelliJ IDEA内部的断点,我在调试器窗口中看到类似这样的东西。那些乱码字符应该实际上是来自MongoDB的24个字符的十六进制标识符。Debug Inspector显示奇怪的字符?
我最好的猜测是,这是与氧化镁无法正常解组ObjectId
对象的问题,但这似乎并没有对任何运行Linux或Mac系统的开发者的问题,所以也许它只是一个Windows的事情?
任何输入将不胜感激!
这里没有错误。 bson.ObjectId
具有基本类型的string
:
type ObjectId string
但它是用来存储12“任意”字节(“任意”是指它不意味着由符文来解释,并且它不是一个有效的UTF-8编码的序列)。它通常使用其字节的十六进制表示显示,供人类使用。
调试器没有那么方便。他们看到这是一个string
,所以他们试图将其显示为string
(尽管它并不意味着)。这不仅仅是一个Windows操作系统,带有delve调试器的Atom编辑器在Linux上也是如此。完全不用担心。
如果打印ObjectId
,它通常是fmt
包的“东西”,以利用其String()
方法来获取要显示的string
值。调试器不一定这样做。
你是对的!谢谢! – KOGI