gpt4 book ai didi

带有错误接口(interface)函数的 Golang 解码结构

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

我正在尝试从错误接口(interface)投诉的结构中执行 Unmarshal,但是当我尝试获取 Res 结构错误内容时,它返回错误接口(interface)字符串。

Example(with Error Interface complain): https://play.golang.org/p/ZZDTMSXYO7

结果:2009/11/10 23:00:00 C:-> {Data:{Title:Lorem Ipsum data} Error:}

Example(Without Error Interface complain): https://play.golang.org/p/VmS0xIglC0

预期:2009/11/10 23:00:00 C:-> {Data:{Title:Lorem Ipsum data} Error:{Title:Lorem Ipsum error}}

谁能帮我们解决这个问题?

最佳答案

具有 %+v 格式的

log.Printf 对实现 error 的值调用 Error 方法> 接口(interface),您的 Error 类型就是这种情况。因此,它不是打印值的内容,而是打印 Error 方法返回的字符串,在您的示例中它是一个空字符串。

但这并不意味着解码器没有正确解码 json,您可以通过将格式化动词更改为 %#v 或仅打印 Title 字段。

https://play.golang.org/p/PgFCDnySb9

关于带有错误接口(interface)函数的 Golang 解码结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46849314/

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