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