example go gob

go - example - map<string, object>



gob: tipo no registrado para la interfaz: map[string] interface{} (2)

Probablemente sí, pero tienes que registrar tu tipo de antemano. Consulte http://golang.org/pkg/encoding/gob/#Register .

Los detalles se documentan en http://golang.org/pkg/encoding/gob/#hdr-Encoding_Details

(Realmente ayuda mirar la documentación de Go :-)

gob falla al codificar la map[string]interface{}

gob: type not registered for interface: map[string]interface {}

http://play.golang.org/p/Si4hd8I0JE

package main import ( "bytes" "encoding/gob" "encoding/json" "fmt" "log" ) func CloneObject(a, b interface{}) []byte { buff := new(bytes.Buffer) enc := gob.NewEncoder(buff) dec := gob.NewDecoder(buff) err := enc.Encode(a) if err != nil { log.Panic("e1: ", err) } b1 := buff.Bytes() err = dec.Decode(b) if err != nil { log.Panic("e2: ", err) } return b1 } func main() { var a interface{} a = map[string]interface{}{"X": 1} b2, err := json.Marshal(&a) fmt.Println(string(b2), err) var b interface{} b1 := CloneObject(&a, &b) fmt.Println(string(b1)) }

¿Es posible codificar la map[string]interface{} en gob? Soy capaz de codificarlo con JSON