Golang追加到

时间:2016-02-15 05:31:36

标签: arrays go types append slice

我正在进行ldap查询,我想将结果填充到切片中。结果看起来像

objectClass [top person organizationalPerson user]
cn [user.1]
sn [one]
description [user.1]
givenName [user]
distinguishedName [CN=user.1,OU=random,DC=example,DC=com]
...

我正在尝试将其填充到地图中,为此,我创建了一个类型。

    type keyvalue map[string]interface{}

现在我想创建一个这种类型的切片,这样对于多个用户来说数据看起来就是这样的

objectClass [top person organizationalPerson user]
cn [user.1]
sn [one]
description [user.1]
givenName [user]
distinguishedName [CN=user.1,OU=random,DC=example,DC=com]
...
objectClass [top person organizationalPerson user]
cn [user.2]
sn [one]
description [user.2]
givenName [user]
distinguishedName [CN=user.2,OU=random,DC=example,DC=com]
...

为此,我创建了一个我上面创建的类型的片段。

userslice := make([]keyvalue, 1, 1)

如何在每次迭代中将每个用户的参数附加到切片中?

1 个答案:

答案 0 :(得分:2)

在代码中使用keyvalue代替map[string]interface{}

type keyvalue map[string]interface{}

....

user1 := make(keyvalue)
user1["distinguishedName"] = "[CN=user.1,OU=random,DC=example,DC=com]"
user1["givenName"] = "user"

var userslice []keyvalue
userslice = append(userslice, user1)

fmt.Printf("%#v", userslice)