I receive an interface which is basically a slice. Now I want to convert it to a pointer to the slice. The problem is, that I have either the slice itself or a Pointer to an interface. I can easily show in a code example:
func main(){ model := []int{1,2,3,4,5,6,7,8,10,11,133123123123} method(model) } func method(model interface{}){ fmt.Println(reflect.TypeOf(model)) // this is of type []int fmt.Println(reflect.TypeOf(&model)) // this is of type *interface{} } What I need is this type:
fmt.Println(reflect.TypeOf(result)) // this should be type *[]int I know the type only on runtime, therefore I cannot just take &(model.([]int))
Is there a way using golang reflection to receive this? the type 'int' is here actually not important, important is, that it is a Pointer to a slice. *[]interface{} would be okay either.
Edit:
To make the question more clear, I should have added: I am not interested in the data of the slice, but only in getting a pointer to a slice of same type (which can basically be empty). Therefore James Henstridge answers works perfectly.
modelafter you copied the value into themethodcall. It doesn't matter that it's aninterface{}or not, you have slice value, not a pointer.