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

初始化嵌入结构时的指针差异

初始化嵌入结构时的指针差异

Go
交互式爱情 2021-08-10 13:22:22
我正在玩结构嵌入,并且在保持对嵌入结构的相同引用方面遇到问题。试试Go Playground 会发现有两个不同的指针地址*strings.Reader。package mainimport (    "fmt"    "strings")type Base struct {    reader *strings.Reader}func NewBase() *Base {    r := strings.NewReader("hello")    fmt.Printf("document: %#+v\n\n", &r)    return &Base{r}}func (b *Base) Check() {    fmt.Printf("document: %#+v\n\n", &b.reader)}type Concrete struct {    *Base}func NewConcrete() *Concrete {    return &Concrete{NewBase()}}func main() {    c := NewConcrete()    c.Check()}为什么这些地址不一样?我该如何解决?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

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