我正在执行一个 ldap 查询,我想将结果填充到一个 slice 中。结果看起来像
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]
...
我正在尝试将其填充到 map 中,为此我创建了一个类型。
type keyvalue map[string]interface{}
现在我想创建一个这种类型的 slice ,以便多个用户的数据看起来像这样
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]
...
为此,我创建了一个我在上面创建的类型的 slice 。
userslice := make([]keyvalue, 1, 1)
如何在每次迭代中将每个用户的参数 append 到 slice 中?
最佳答案
只需在您的代码中使用 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)
关于arrays - Golang append 到一个类型的 slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35402105/