func encode(complexStructures []ComplexStruct) { var buf bytes.Buffer encoder := gob.NewEncoder(&buf) if err := encoder.Encode(&complexStructures); err != nil { panic(err) } // this is just an example! never write a file inside a function that way if err := os.WriteFile("complex_structures.gob", buf.Bytes(), os.ModePerm); err != nil { panic(err) } }