У меня есть две разные структуры, как указано ниже A
abd B
и две функции процесса.Есть ли способ, с помощью которого я могу написать общую функцию для генерации map[string]struct
для обоих struct
.Кроме того, есть ли способ с помощью отражения, учитывая имя структуры, я могу создать такой же объект?
type A struct {
name string
// more fields
}
type B struct {
name string
// more fields
}
func ProcessA(input []A) map[string]A {
output := make(map[string]A)
for _, v := range input {
output[v.name] = v
}
return output
}
func ProcessB(input []B) map[string]B {
output := make(map[string]B)
for _, v := range input {
output[v.name] = v
}
return output
}