arraysgoreflectionslicego-reflect

Golang: get the type of slice


I am using reflect package to get the type of arbitrary array, but getting

   prog.go:17: cannot use sample_array1 (type []int) as type []interface {} in function argument [process exited with non-zero status]

How do I get the type from array? I know how to get it from value.

  func GetTypeArray(arr []interface{}) reflect.Type {
      return reflect.TypeOf(arr[0])
  }

http://play.golang.org/p/sNw8aL0a5f


Solution

  • Change:

    GetTypeArray(arr []interface{})
    

    to:

    GetTypeArray(arr interface{})
    

    By the way, []int is not an array but a slice of integers.