为了账号安全,请及时绑定邮箱和手机立即绑定

去,%v 格式调用 String() 嵌套结构

去,%v 格式调用 String() 嵌套结构

Go
噜噜哒 2021-08-16 19:53:24
在下面的代码中,我希望fmt.Printf("%v\n", a)调用其 myTypeB 类型成员的 String(),但这并没有发生?为什么 ?package mainimport "fmt"type myTypeA struct {     b myTypeB}type myTypeB struct {    c string    d int}func (b myTypeB) String() string {    return "myTypeB custom"}func main() {   a:= myTypeA{myTypeB{"hello", 1}};   b:= myTypeB{"hello", 1}   fmt.Printf("%v\n", a)   fmt.Printf("%v\n", b)}
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

fmtfmt.Stringer递归查找。

如果参数是 a fmt.Stringer,它将调用该String()方法并打印结果。如果它没有String()方法,fmt将使用反射遍历字段以获取值。


查看完整回答
反对 回复 2021-08-16
  • 1 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信