Как, в go, определить тип интерфейса который тип структ?
К сожалению, это невозможно, v является синонимом TEST, но при компиляции создаётся два типа структур: v и TEST.
Это потому что вы ссылку разбираетеi := interface{}(&v{})
	t := reflect.TypeOf(i).Name()
	fmt.Println("type:",t)
вы или передайте valuei := interface{}(v{})
t := reflect.TypeOf(i).Name()
или разыменовывайтеi := interface{}(&v{})
t := reflect.TypeOf(i).Elem().Name()
тогда заработает https://play.golang.org/p/BUkX1zQICH