jeudi 17 septembre 2020

Get the reflect.Kind of a type which is based on a primitive type

I would like to get the reflect.Kind as a reflect.Interface for a type which implements an interface but where its implementation is based on a primitive type: type id string

An alternative answer for this could be how to get any kind of reflect.Type that returns reflect.Interfaces when calling Kind().

Here is a full example on the Go Playground:

type ID interface {
    myid()
}

type id string

func (id) myid() {}

func main() {
    id := ID(id("test"))
    
    fmt.Println(id)
    fmt.Println(reflect.TypeOf(id))
    
    // How to get the kind to return "reflect.Interface" from the var "id"?
    fmt.Println(reflect.TypeOf(id).Kind())
}




Aucun commentaire:

Enregistrer un commentaire