如何在golang中重新创建perl的哈希数组?

In perl I can push $hashref into @array and have this data for next foreach and possible encode_json (HTTP POST).

I can't figure out how to recreate the same login in golang?

$VAR1 = [
      {
        'address' => 'test.com',
        'id' => 101,
        'hostgroups' => [
                          zero
                          'one',
                          'or many'
                        ],
        'host_name' => 'test.com',
        'alias' => 'test.com',
        'template' => 'generic',
        'file_id' => 'etc/config'
      },
      {
        'address' => 'test2.com',
        'id' => 102,
        'hostgroups' => [
                          zero
                          'one',
                          'or many'
                        ],
        'host_name' => 'test2.com',
        'alias' => 'test2.com',
        'template' => 'generic',
        'file_id' => 'etc/config'
      },
      (..)
var array = []map[string]interface{}{
    {"address": "test.com", "hostgroups": []string{"zero", "one", "or many"}, "id": 101},
    {"address": "test2.com", "hostgroups": []string{"zero", "one", "or many"}, "id": 102},
}

This is the answer.

type host map[string]interface{}

var hosts []host

h := host{
    "id":         id,
    "file_id":    "etc/config/hosts.cfg",
    "host_name":  host_name,
    "alias":      host_name,
    "address":    host_name,
    "hostgroups": hg,
    "template":   "generic-host",
}

hosts = append(hosts, h)