我想知道如何在 Go 中连续写入同一个文件?我必须使用os.WriteAt()吗?
JSON 基本上只是一个充满结构的数组:
[
{
"Id": "2817293",
"Data": "XXXXXXX"
},
{
"Id": "2817438",
"Data": "XXXXXXX"
}
...
]
我想要连续向它添加正确的数据,即在关闭文件之前多次附加到该 JSON 数组。我要写入文件的数据是所述结构的一部分:
dataToWrite := []struct{
Id string
Data string
}{}
在 Go 中连续写入 JSON 数组的正确方法是什么?
我当前的方法在 JSON 文件中创建多个切片,因此不是我想要的。写入过程(位于 for 循环中)如下所示:
...
// Read current state of file
data := []byte{}
f.Read(data)
// Write current state to slice
curr := []Result{}
json.Unmarshal(data, &curr)
// Append data to the created slice
curr = append(curr, *initArr...)
JSON, _ := JSONMarshal(curr)
// Empty data container
initArr = &[]Result{}
// Write
_, err := f.Write(JSON)
if err != nil {
log.Fatal(err)
}
...
慕姐4208626
拉莫斯之舞
精慕HU
慕桂英546537
随时随地看视频慕课网APP
相关分类