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

如何重新创建perl';golang中的哈希数组?,perl,go,Perl,Go,在perl中,我可以将$hashref推入@array,并将这些数据用于下一个foreach和可能的encode_json(HTTP POST) 我不知道如何在golang中重新创建相同的登录 $VAR1 = [ { 'address' => 'test.com', 'id' => 101, 'hostgroups' => [ zero

在perl中,我可以将$hashref推入@array,并将这些数据用于下一个foreach和可能的encode_json(HTTP POST)

我不知道如何在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'
      },
      (..)
这就是答案

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)

Go有数组,但通常使用切片。Go的散列称为映射。没有理由不能创建贴图数组或数组贴图。让我们来了解一下基本知识:类似的问题是,您可以将哈希映射放入数组中,请记住Perl是少数支持自动生动化的语言之一(如果不是唯一的语言的话)。所以,如果你希望有一个动态散列来改变它的结构并在golang中复制它,那是行不通的。谢谢大家!键入主机映射[string]接口{}和var hosts[]主机。我总是搜索所有可能的帖子,但昨天对我来说有点慢。
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)