ファイルパスを表すオブジェクトを作成する再帰関数があります(キーはパスであり、値はファイルに関する情報です)。ファイルを処理することのみを目的としているため、再帰的であるため、ディレクトリが検出されると、関数はディレクトリ上で再帰的に呼び出されます。
言われていることはすべて、2つのマップ(つまり、再帰呼び出しからの値で更新された「メイン」マップ)の集合和に相当することをしたいと思います。 1つのマップを反復処理し、各キー、その値を他のマップの同じものに割り当てる以外に、これを行う慣用的な方法はありますか?
つまり:a,b
はタイプmap [string] *SomeObject
、およびa
およびb
が最終的に入力されますが、a
のすべての値でb
を更新する方法はありますか?
組み込みの方法も、標準パッケージにこのようなマージを実行する方法もありません。
理想的な方法は単純に繰り返すことです:
for k, v := range b {
a[k] = v
}