Question about how to read the reflect.Value in the right way

function = reflect.ValueOf(target_function)
paramList := []reflect.Value{reflect.ValueOf(a), reflect.ValueOf(b)}
retList := function.Call(paramList)
res1 := retList[0].String()
res2 := retList[1]         //*****************??????***************
/*
func target_function(a,b) (string,*Resp){}
type Resp struct {
	ResCode string 
	Status  string 
	RespContent RespBody
}
type RespBody struct {
	Reqtype string
	Ext map[string]string
}
*/

How to get the object of res2 correctly? I tried

res2 = retList[1].Pointer()

But it cannot get the right struct i designed.

retList[1].Interface().(*Resp)

yep!