Pointers 如何访问指向结构的指针的值?

Pointers 如何访问指向结构的指针的值?,pointers,go,Pointers,Go,我有一个变量,它等于以下结构的指针: type Conn struct { rwc io.ReadWriteCloser l sync.Mutex buf *bytes.Buffer } 因此 返回 {rwc:0xc42000e080 l:{state:0 sema:0} buf:0xc42005db20} 如何查看地址0xc42000e080和0xc42005db20处的值 我的最终目标是检查它,因为它是在连接到memcache时使用的,如果memcache中断,我将尝试重

我有一个变量,它等于以下结构的指针:

type Conn struct {
  rwc io.ReadWriteCloser
  l   sync.Mutex
  buf *bytes.Buffer
}
因此

返回

{rwc:0xc42000e080 l:{state:0 sema:0} buf:0xc42005db20}
如何查看地址0xc42000e080和0xc42005db20处的值


我的最终目标是检查它,因为它是在连接到memcache时使用的,如果memcache中断,我将尝试重新建立连接,并需要检查它以解决此问题。

我不确定您为什么需要一个单独的库来解决此问题。直截了当的答案是,您可以直接在结构内部解除对rwc的引用

所以,你会这样做

fmt.Printf("---*cn: %+v\n", *(cn.rwc))

假设导入了
Conn
,并且您无法使用标准访问未报告的字段,则可以使用
reflect
包绕过该限制

rv := reflect.ValueOf(cn)
fmt.Println(rv.FieldByName("buf").Elem())

您可以在包中使用
Render
函数,而不是使用*获取指针的值,如果指针为零,则*将崩溃

只需导入库即可:

fmt.Printf("Connection: %v", render.Render(<your variable>))
fmt.Printf(“连接:%v”,render.render())

使用像.hmm…这样的库,有没有关于如何在没有这个的情况下这样做的建议?
fmt.Printf("Connection: %v", render.Render(<your variable>))