我嘗試將結構化數據序列化爲文件。我通過一些例子看上去並提出這樣的建築:去。將[]字節寫入文件結果爲零字節文件
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
代表寫入字節數量的變量也超過一千個 - 文件不應該爲空。該文件已創建,但完全是空的。怎麼了?
對不起,浪費你的時間:我完全新的去和它的「基礎設施」。非常感謝您的詳細解釋,您的答案相當完美。 –