Я пытался реализовать функцию для печати дерева структуры interface{}
с отражением и DFS.
Но мне трудно разыменовать многоуровневый указатель (NumField()
нельзя использовать с указателем).Например:
func Tree(i interface{}) {
......
}
var a = 10
var b = &a
var c = &b
Tree(c)
На мой взгляд, возможно:
for reflect.ValueOf(i).Kind() == reflect.Ptr {
t := i.(reflect.Typeof(i))
i = *t
}
может работать, но это не так.
Есть ли способ решить эту проблему?