1

インターフェイスが与えられた場合、基になる値へのポインターを取得するにはどうすればよいですか?

私の素朴な試みは、次のような型アサーションを使用することでした:

var mytypeptr *MyType = myinterface.(*MyType)

しかし、私は得る:

interface conversion: MyInterface is MyType, not *MyType
4

1 に答える 1

0

次を使用して開始できますreflect.Indirect()

val := reflect.ValueOf(myinterface)
if val.Kind() == reflect.Ptr {
    val = reflect.Indirect(val)
}
于 2014-09-19T17:07:21.353 に答える