我尝试将结构化数据序列化到文件中。我查看了一些示例并进行了这样的构造:
func (order Order) Serialize(folder string) {
b := bytes.Buffer{}
e := gob.NewEncoder(&b)
err := e.Encode(order)
if err != nil { panic(err) }
os.MkdirAll(folder, 0777)
file, err := os.Create(folder + order.Id)
if err != nil { panic(err) }
defer file.Close()
writer := bufio.NewWriter(file)
n, err := writer.Write(b.Bytes())
fmt.Println(n)
if err != nil {
panic(err)
}
}
Serialize
是一种将其对象序列化为由其id属性调用的文件的方法。我查看了调试器 - 字节缓冲区在写入之前包含数据。我的意思是对象已完全初始化。甚至n
表示写入字节数量的变量也超过一千 - 文件根本不应该是空的。该文件已创建,但它完全是空的。怎么了?