Dann gibt es eine Funktion convertLdapMemberToUserOrSuperAdmin
, die eine Liste von Member
nimmt und eine Liste von Werten des Typs V
zurückgibt, wobei V
entweder User
oder SuperAdmin
ist. In der Funktion wird für jedes Element in der Eingabeliste ein neues Element vom Typ V
erstellt, das nur Name
und Email
enthält, und der Liste von V
hinzugefügt.
WICHTIG: User und SuperAdmin müssen wirklich 100% identlisch sein.
type User struct {
ID uint
Name string
Email string
}
type SuperAdmin struct {
ID uint
Name string
Email string
}
type Member struct {
ID uint
Key string
Name string
Email string
}
func convertMemberToUserOrSuperAdmin[V model.User | model.SuperAdmin](m []*ldapclient.Member) []V {
s := make([]V, 0)
for _, val := range m {
s = append(s, V{
Name: val.DisplayName,
Email: val.Email,
})
}
return s
}
var members []*ldapclient.Member
users := convertLdapMemberToSuperAdmin[model.SuperAdmin](members)