What I could come up with so far doesn’t seem to work:
package main
import (
"fmt"
"reflect"
)
type someStruct struct {
id string
}
func main() {
var struRef interface{} = someStruct{"Some ID"}
var iref = &struRef
fmt.Printf("Hello, %+v!\n", reflect.ValueOf(iref).Elem().String())
fmt.Printf("Hello, %+v!\n", reflect.ValueOf(reflect.ValueOf(iref).Elem()).String())
}
To clarify: I would like to access the id field of someStruct having access only to the iref variable.
>Solution :
You are dealing with a pointer to an interface, thus:
fmt.Printf("Hello, %+v!\n", reflect.ValueOf(iref).Elem().Elem().FieldByName("id").String())
should work.