我尝试从错误接口投诉的结构中执行Unmarshal,但是当我尝试获取Res结构错误内容时,它会返回错误接口字符串。
示例(错误界面抱怨):https://play.golang.org/p/ZZDTMSXYO7
结果:2009/11/10 23:00:00 C: -> {Data:{Title:Lorem Ipsum data} Error:}
示例(没有错误接口抱怨):https://play.golang.org/p/VmS0xIglC0
预期:2009/11/10 23:00:00 C: -> {Data:{Title:Lorem Ipsum data} Error:{Title:Lorem Ipsum error}}
任何人都可以帮助我们吗?
答案 0 :(得分:3)
log.Printf
格式的 %+v
会在实现Error
接口的值上调用error
方法,这与Error
类型的情况相同。因此,不是打印值的内容,而是打印Error
方法返回的字符串,在您的示例中为空字符串。
但这并不意味着unmarshaler没有正确解组json,你可以通过将格式化动词更改为%#v
或仅打印Title
字段来看到。