我有一個遞歸函數,它創建表示文件路徑的對象(關鍵字是路徑,值是關於文件的信息)。它是遞歸的,因爲它只是用來處理文件,所以如果遇到一個目錄,就會在目錄上遞歸地調用該函數。獲取兩個地圖的結合
就這麼說,我想在兩個地圖上做一個set union的等價物(即使用遞歸調用的值更新「main」地圖)。除了遍歷一個映射並將每個鍵和值分配給另一個映射中的相同內容之外,有沒有一種慣用的方法可以做到這一點?
即:給予a,b
是map [string] *SomeObject
型,並最終填充a
和b
,有沒有什麼辦法來更新a
與b
所有的值?
也許你可以利用一組實際容器,用於這方面的工作:http://github.com/deckarep/golang-set –
拉爾夫的建議是好的爲集合。但是,我想說,在你的情況下,它不是一個* union *,而是一個* merge *;一個集合應該只是一個「鍵」的集合,而您有兩個鍵值對的集合,其中一個「集合」應該優先於另一個集合。 – ANisus