Как привести поле структуры, полученное из 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
}