Ich habe eine Funktion in Go, deren Rückgabewert ich mit Hilfe von Gob kodieren möchte. Der Rückgabewert ist ein Strukturzeiger. Obwohl ich weiß, was exportierte Variablen sind, bin ich mir nicht sicher, wie ich es zum Laufen bringen soll.Exportierte und nicht exportierte Felder in Go-Sprache
Hier ist, was meine Funktion wie
istfun loadXYZ(root *structABC) *structABC{
const once = "stateData.bin"
rd, errr := ioutil.ReadFile(once)
if errr!=nil{
//Do some computation and store in "root"
buf := &bytes.Buffer{}
errr = gob.NewEncoder(buf).Encode(root)
if errr != nil {
panic(errr)
}
errr = ioutil.WriteFile(once, buf.Bytes(), 0666)
if errr != nil {
panic(errr)
}
return root
}
var d *structABC
errr = gob.NewDecoder(bytes.NewReader(rd)).Decode(&d)
if errr != nil {
panic(errr)
}
return d
}
Dies ist der Fehler ich
panic: gob: type main.stateNode has no exported fields
Ich weiß, warum der Fehler auftritt. Aber kann mir jemand helfen, es zu lösen?
Die Klarheit der Aussage hat mir geholfen, das Problem zu verfolgen. Danke vielmals! – Parag