interface{}値のバイト表現を保存および取得する必要があります。明確にするために、サイズに関係なく、スライスにパックされた基になる値を格納しようとはしていませんが、その値へのポインターを格納する方法を探しています。
私がただ行けない理由type MyType interface{}; var arr []MyType
は、この配列内に不均一な量の他のバイトをパックしているためです。
これを実装するために、reflectパッケージと安全でないパッケージを調べていUnsafeAddr
ます。ポインタを返すようなメソッドがあります。そのポインタを保存して、後でインターフェイス{}値にデコードして戻すことはできますか?
私が見る別の関数はInterfaceData
、2バイトの配列表現を返すものですが、それをインターフェイス値に戻す方法はありますか?
私の高レベルの目標はこれです:
// store the pointer to dataIn in the slice b
func putPtr(b []byte, dataIn interface{}) { ... }
// return the pointed to interface value from within b
func getInter(b []byte) interface{} { ... }