我正在使用Golang,出于某种原因,我需要合并来自不同数据库查询的结果,所有这些都返回一个[] map [string] interface {}
我正在考虑追加,但如果这是可能的话,它还不够清楚.
我正在看的最终数据类型是什么?
我正在考虑追加,但如果这是可能的话,它还不够清楚.
我正在看的最终数据类型是什么?
显然,一个带键作为字符串的接口映射数组应该能够简单地“附加”(concat,如果可能)到另一个接口映射数组,其中键作为字符串!
那么实现这一目标的机制是什么?
即使答案已在上面的评论中给出,我将发布一个简短的例子,说明如何实现这一目标.
package main import ( "fmt" ) func main() { result := []map[string]interface{}{} mp1 := map[string]interface{}{ "one" : 1,"two" : 2,} mp2 := map[string]interface{}{ "three" : 3,"four" : 4,} mp3 := make(map[string]interface{}) for k,v := range mp1 { if _,ok := mp1[k]; ok { mp3[k] = v } } for k,v := range mp2 { if _,ok := mp2[k]; ok { mp3[k] = v } } result = append(result,mp1,mp2) fmt.Println(result) }
输出将是:
[map[one:1 two:2] map[three:3 four:4]]