@lucifer-m
golang php js html css

Как вызвать функцию?

У меня имя функции хранится в переменной (json). Я знаю с какого пакета необходимо вызвать функцию (к примеру с пакета api необходимо вызвать функцию имя которой сохранено в переменной string)
Я попытался вызвать как то так api[myJson.Method]()
но в ответ получил ошибку .\main.go:30: use of package api without selector
  • Вопрос задан
  • 311 просмотров
Решения вопроса 1
bitver
@bitver
Не путайте с другими ЯП, это невозможно. Создайте map из необходимых вам методов, и вызывайте api.MyMap[MyFunc](). Или юзайте рефлексию.
https://play.golang.org/p/REKlyayaza
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
0xcffaedfe
@0xcffaedfe
Developer & Reverser
нужно засунуть большой шарик в квадратное отверстие, при этом что бы шарик не сломался
что было сделано
1) красил шарик другим цветом, не помогло, все равно не влазит
2) гуглил, в гугле пишут ни у кого не получилось
3) можно сточить шарик до меньшего размера, он влезет, но это не подходит
.......... можно продолжать дальше

намек поняли ?
Ответ написан
@Bojczuk
Копай в сторону reflect.ValueOf, что-то подобное должно сработать:
reflect.ValueOf(MyStruct).MethodByName("MyMethod").Call([]reflect.Value{})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы