Передача через вложенные структуры через отражение
type Client struct {
Id int
Age int
PrimaryContact Contact
Name string
}
type Contact struct {
Id int
ClientId int
IsPrimary bool
Email string
}
Выше приведен пример кода; я пытаюсь добиться следующего: - пройтись по всем полям структуры клиента с помощью отражения - для каждого «примитивного» поля установить значение по умолчанию с помощью отражения - для каждого поля структуры использовать рекурсию, чтобы применить вышеуказанные шаги
Проблема заключается в том, что, когда поле PrimaryContact является самоанализом, и когда я пытаюсь установить значение для любого из его полей, я получаю следующую панику:
refle.Value.Set с использованием неадресуемого значения
Причина, по которой я не ошибаюсь, заключается в том, что PrimaryContact передается по значению, а не по ссылке, поэтому, когда я вызову метод Set для любого из его полей, он изменит значения полей в копии, а не в фактическом аргументе. Как я могу преодолеть эту проблему? Как я мог передать поле PrimaryContact моему методу по ссылке, используя отражение?