数组 – 在Golang中将两个或多个[] map [string] interface {}类型合并为一个

前端之家收集整理的这篇文章主要介绍了数组 – 在Golang中将两个或多个[] map [string] interface {}类型合并为一个前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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]]

Playground example

猜你在找的Go相关文章