func SmartPrint(i interface{}){
var kv = make(map[string]interface{})
vValue := reflect.ValueOf(i)
vType :=reflect.TypeOf(i)
for i:=0;i<vValue.NumField();i++{
kv[vType.Field(i).Name] = vValue.Field(i)
}
fmt.Println("获取到数据:")
for k,v :=range kv{
fmt.Print(k)
fmt.Print(":")
fmt.Print(v)
fmt.Println()
}
}
func TestSmartPrint(t *testing.T) {
type User struct {
Name string
Id int
}
SmartPrint(User{"ft",5})
}
获取到数据:
Name:ft
Id:5