golang中的指针和调试

golang中的指针和调试,go,Go,我陷入了困境,弄不清楚自己把什么搞砸了。最简单的解释方法可能是一些简单的例子: 我试图通过指针修改结构的值,但最终修改了一些内存,而不是我想要的部分。第92行是我的问题所在 您将如何调试这样的情况(工具等),以及如何获得broker.Port集 谢谢你的提示/建议 整个过程中都没有使用指针。从以下类型的注册表开始: type Registry []*Broker 从那里开始工作 就调试技巧而言,这是我的过程: 值未被更改,因此某些内容正在被值复制 请注意,注册表的类型是[]Broker,但

我陷入了困境,弄不清楚自己把什么搞砸了。最简单的解释方法可能是一些简单的例子:

我试图通过指针修改结构的值,但最终修改了一些内存,而不是我想要的部分。第92行是我的问题所在

您将如何调试这样的情况(工具等),以及如何获得broker.Port集


谢谢你的提示/建议

整个过程中都没有使用指针。从以下类型的注册表开始:

type Registry []*Broker
从那里开始工作

就调试技巧而言,这是我的过程:

  • 值未被更改,因此某些内容正在被值复制
  • 请注意,注册表的类型是
    []Broker
    ,但我们希望修改代理,因此它需要是一个指针
  • 类型注册表
    更改为
    []*代理
  • 继续尝试编译,让编译器告诉我我们使用的每个地方都需要一个指针(woohoo快速编译时间和静态类型)

整个过程中都没有使用指针。从以下类型的注册表开始:

type Registry []*Broker
从那里开始工作

就调试技巧而言,这是我的过程:

  • 值未被更改,因此某些内容正在被值复制
  • 请注意,注册表的类型是
    []Broker
    ,但我们希望修改代理,因此它需要是一个指针
  • 类型注册表
    更改为
    []*代理
  • 继续尝试编译,让编译器告诉我我们使用的每个地方都需要一个指针(woohoo快速编译时间和静态类型)

就这样!你的回答几乎和“让我帮你谷歌一下”一样有失身份(谢谢!我添加了更多的信息,但有时是简单的事情;)就这样!你的回答几乎和“让我帮你谷歌一下”一样有失身份(谢谢!我添加了更多的信息,但有时是简单的事情;)