我试图将一个数组编组为一个字符串,用换行符分隔所有元素。我的内存不足,正在考虑一种更有效的方法来做到这一点。buffer := ""for _, record := range all_data { body, _ := json.Marshal(record) buffer += string(body) + "\n" // i run out of memory here题:有没有办法将换行符附加到字节数组?现在我正在投射 via string(body),但我认为此操作分配了大量内存(但也许我错了)。
2 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
假设您的数据对于运行它的计算机来说本质上不是太大,问题很可能是该字符串的构建效率低下。相反,您应该使用 abytes.buffer然后调用它的String()方法。这是一个例子;
var buffer bytes.Buffer
for _, record := range all_data {
body, _ := json.Marshal(record)
buffer.Write(body)
buffer.WriteString("\n")
}
fmt.Println(buffer.String())
- 2 回答
- 0 关注
- 165 浏览
添加回答
举报
0/150
提交
取消