Consider the following code:
package main
import (
    "fmt"
    "reflect"
)
func f(v interface{}) {
    fmt.Println(reflect.TypeOf(v).Elem())
    fmt.Println(reflect.ValueOf(v))
}
func main() {
    var aux []interface{}
    aux = make([]interface{}, 2)
    aux[0] = "foo"
    aux[1] = "bar"
    f(aux)
}
The output is:
interface {}
[foo bar]
How can I determine the type of the elements that are contained in a slice of interface{}, in this particular example I need to know in my function f that this slice of interface{} contains string values.
My use case is, using reflection, I am trying to set a struct field depending on the type of values my slice of interface{} parameter holds.
Aucun commentaire:
Enregistrer un commentaire