structの名前を取得する
using reflection in Go to get the name of a struct - Stack Overflow
structの名前を取得する
Go言語でinterface{}として受け取った値の、元の構造体名を実行時に文字列として取得したいときに使う。reflect.ValueOfで値の型情報を取得し、ポインタの場合はreflect.Indirectで実体を辿ってからType().Name()で構造体名を取り出す。
解決
func getType(myvar interface{}) {
valueOf := reflect.ValueOf(myvar)
if valueOf.Type().Kind() == reflect.Ptr {
fmt.Println(reflect.Indirect(valueOf).Type().Name())
} else {
fmt.Println(valueOf.Type().Name())
}
}using reflection in Go to get the name of a struct - Stack Overflow