通常,我可以使用以下命令打印对象的所有属性:c.Infof("car: %+v", car)但是一个结构有一个String()方法。我认为这会导致上面的行只打印String()方法返回的内容。如何覆盖它并强制打印该结构的所有属性?
1 回答

拉丁的传说
TA贡献1789条经验 获得超8个赞
一个简单的解决方法是使用%#v动词:
package main
import (
"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 end
main.someStruct{a:1, b:2}
- 1 回答
- 0 关注
- 149 浏览
添加回答
举报
0/150
提交
取消