структуре и, если он есть, то вызвать его по имени. Как это можно сделать? MethodByName отказывается работать
Задача так и звучит "используй рефлексию" ?
Можно без рефлексии. Разумеется. У меня есть мапа вида map[string]interface{}. В которой значение - инстанс структуры. Когда я получаю инстанс структуры по ключу, то мне нужно проверить: есть ли у ней метод с данным имененем. И если он есть, то вызвать его. Как я могу это сделать ?
через рефлексию самый правильный вариант. Можно еще так: type Somether interface{ Do() } val := MyType("hello") v, ok := interface{}(val).(Somether)
Обсуждают сегодня