Как привести поле структуры, полученное из reflect к нужному интерфейсу?

У меня есть структура, с помощью reflect я перебираю ее поля. Если поле реализовывает определенный интерфейс, я хочу закастить поле к этому интерфейсу и положить в него значение через метод. Как мне получить поле не в виде структуры Value а в виде, к примеру, пустого интерфейса?

Вот пример, я хочу получить поле e через reflect, и закастить его к Exemple, чтоб положить значение через метод Set

type Example interface {
    Set (str string)
}

type ExampleImpl struct {
    str string
}

func (e *ExampleImpl) Set(str string) {
    e.str = str
}

type Test struct {
    e ExampleImpl
}

Ответы (0 шт):