@IllusionTurtle

Как, в go, определить тип интерфейса который тип структ?

Требуется помощь с reflect.
Проще показать код, чем объяснить: https://play.golang.org/p/bH45-LCyp7

вот мне надо увидеть не пустую строку а тип TEST.

Спасибо.
  • Вопрос задан
  • 1118 просмотров
Решения вопроса 2
@Maxim_Samburskiy
К сожалению, это невозможно, v является синонимом TEST, но при компиляции создаётся два типа структур: v и TEST.
Ответ написан
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
Это потому что вы ссылку разбираете
i := interface{}(&v{})
	t := reflect.TypeOf(i).Name()
	fmt.Println("type:",t)

вы или передайте value
i := interface{}(v{})
t := reflect.TypeOf(i).Name()

или разыменовывайте
i := interface{}(&v{})
t := reflect.TypeOf(i).Elem().Name()

тогда заработает https://play.golang.org/p/BUkX1zQICH
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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