使用混合值打印结构的所有值?

时间:2016-06-11 02:38:01

标签: go

有没有办法打印具有混合值类型的结构,包括指针类型,以便显示所有值?例如:

package main

import (
    "fmt"
)

type test struct {
  Str string
  Ptr *string
}

func main() {
  s := "some string"
  p := &s

  t := test{
     Str: s,
     Ptr: p,
  }

  fmt.Printf("%#v\n", t)
}

我想要的是:main.test{Str:"some string", Ptr:(*string)("some string"}
而不是:main.test{Str:"some string", Ptr:(*string)(0x1040a120)}

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

1 个答案:

答案 0 :(得分:1)

您可以使用该功能的fmt动词。您可以在结构上实现Stringer,并完全控制结构的打印方式。