在Golang中传递指向地图的指针

pro*_*fan 8 pointers map go

我在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)
       }
Run Code Online (Sandbox Code Playgroud)

Son*_*nia 9

是的,你正确地传递它,虽然不是惯用的.正如系统指出的那样,传递地图本身而不是指向它的指针几乎总是更好.

现在对Rahul这个问题的评论,你不应该"稍后再回到这篇文章".这不是使用stackoverflow的方法.你问的问题相对简单("如果我正确传递map参数,你可以告诉我吗?")你提供了足够的信息和示例代码,以便得到一个简单的答案,比如我刚给出的答案.你应该接受一个答案,或者,如果你非常后悔问你的问题,完全删除这个问题.

您提到了您可能遇到的其他问题.这很好,但他们不在这里,没有理由把这个问题留在一个没有答案的状态.撰写新问题后,将其作为新问题和单独问题发布.


Ale*_*leš 6

正如评论中已经指出的那样,不需要将指针传递给地图.

地图已经引用类型.将从其他变量中观察到地图中的变化.

另见Q/A:Go - 指向地图的指针.