Go入门笔记-15 Go 使用反射

1、代码

package main

import (
	"fmt"
	"reflect"
)

type Test struct {
	a int
	b int
}

// TypeInstanceToName converts an instance of a type to a unique name.
func TypeInstanceToName(v interface{}) string {
	t := reflect.TypeOf(v)

	if name := t.Name(); name != "" {
		// non-interface types
		return t.PkgPath() + "." + name
	}

	// interface types
	e := t.Elem()
	return e.PkgPath() + "." + e.Name()
}

func main() {

	fmt.Println(TypeInstanceToName(Test{}))

}

2、运行结果

main.Test  

posted @ 2021-08-13 11:00  zhaogaojian  阅读(57)  评论(0编辑  收藏  举报