9

Go でマップへのポインターを作成するのに少し問題があります。マップ パラメータを正しく渡しているかどうか教えてください。整数値と構造体をペアにします。

    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)
       }
4

2 に答える 2

12

はい、慣用的ではありませんが、正しく渡しています。システムが指摘したように、ほとんどの場合、マップへのポインターではなく、マップ自体を渡す方が優れています。

質問全体に対するコメントとして、Rahul さん、「後でこの投稿に戻る」べきではありません。これは、stackoverflow を使用する方法ではありません。あなたが尋ねた質問は比較的単純で (「マップ パラメーターを正しく渡しているかどうか教えてください」)、サンプル コードに十分な情報を提供して、私が今与えたような単純な回答を可能にしました。回答を受け入れるか、質問をしたことをひどく後悔している場合は、質問を完全に削除してください。

あなたはあなたが持っているかもしれない他の質問をほのめかしました。これは問題ありませんが、彼らはここにいないので、この質問を未回答のままにしておく理由はありません。新しい質問を作成したら、それらを新しい別の質問として投稿します。

于 2013-02-18T15:48:59.910 に答える
6

コメントで既に述べたように、マップへのポインターを渡す必要はありません

マップはすでに参照型です。マップの変化は、他の変数から観察されます。

Q/A: Go - マップへのポインタも参照してください。

于 2015-01-19T22:32:57.267 に答える