猿问

即使该结构具有默认字符串表示形式,也要打印结构的所有属性?

通常,我可以使用以下命令打印对象的所有属性:

c.Infof("car: %+v", car)

但是一个结构有一个String()方法。我认为这会导致上面的行只打印String()方法返回的内容。

如何覆盖它并强制打印该结构的所有属性?


宝慕林4294392
浏览 150回答 1
1回答

拉丁的传说

一个简单的解决方法是使用%#v动词:package mainimport (    "fmt")type someStruct struct {    a int    b int}func (someStruct) String() string {    return "this is the end"}func main() {    fmt.Printf("%+v\n", someStruct{1, 2})    fmt.Printf("%#v\n", someStruct{1, 2})}这打印:this is the endmain.someStruct{a:1, b:2}
随时随地看视频慕课网APP

相关分类

Go
我要回答