Pointers 将指针传递到Golang中的地图

Pointers 将指针传递到Golang中的地图,pointers,map,go,Pointers,Map,Go,我在Go中创建指向地图的指针时遇到了一些问题。您能告诉我是否正确传递了map参数吗?它将整数值与结构配对 type symbol_table struct{ --- --- --- } //is the map parameter being called correctly? func TD(..., symbolMAP *map[int]symbol_ta

我在Go中创建指向地图的指针时遇到了一些问题。您能告诉我是否正确传递了map参数吗?它将整数值与结构配对

    type symbol_table struct{
                   ---
                   ---
                   ---
    }
    //is the map parameter being called correctly?
func TD(..., symbolMAP *map[int]symbol_table, ...){

                   ---
                   ---
                   ---
    }
    func main(){
               symbolMAP:=make(map[int] symbol_table)
               TD(&symbolMAP)
       }

是的,你传递的是正确的,尽管不是惯用的。正如系统所指出的,传递映射本身而不是指向它的指针几乎总是更好的

Rahul,你不应该“稍后再回到这篇文章。”这不是使用stackoverflow的方式。你问的问题相对简单(“你能告诉我我是否正确地传递了map参数吗?”),你的示例代码提供了足够的信息,让我可以给出一个简单的答案,比如我刚才给出的答案。你应该接受一个答案,或者,如果你非常后悔问你的问题,那就完全删除这个问题


你提到了你可能有的其他问题。这很好,但他们不在这里,没有理由让这个问题处于未回答状态。撰写新问题后,将其作为新问题和单独问题发布。

如评论中所述,无需向地图传递指针

映射已经是引用类型。将从其他变量中观察地图的变化


另请参见Q/A:。

为什么要传递指针?映射已经是引用类型。将从其他变量中观察地图的变化。你犯了什么错误?你的问题缺乏信息。谢谢,我在发布后意识到地图已经是参考类型了。我已经在代码中纠正了这一点。我现在坚信我的问题在别处。当我更好地了解我的问题时,我会回到这篇文章。麻烦是什么意思?你有什么编译错误吗?它没有产生正确的输出?谢谢您的回复。我会记住你的指示!为什么传递地图本身更好?我拥有的映射是结构中的一个状态,更新它很重要,但我希望能够选择传递哪个映射,因此传递指向我要更新的映射的指针很重要。你告诉某人他们没有按照惯用方式做某件事,但没有给出这件事的示例。大多数“答案”都是一种咆哮,要求人们接受它,尽管没有代码存在。