Передача через вложенные структуры через отражение

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 моему методу по ссылке, используя отражение?

Ответы на вопрос(2)

Ваш ответ на вопрос