我试图将数组编组为字符串,并用换行符分隔所有元素。我的内存不足,正在考虑一种更有效的方法。
buffer := ""
for _, record := range all_data {
body, _ := json.Marshal(record)
buffer += string(body) + "\n" // i run out of memory here
题:
有没有一种方法可以将换行符附加到字节数组?目前,我正在通过via进行投射string(body)
,但我认为该操作会分配大量内存(但也许我错了)。
假设您的数据对于运行它的计算机而言本质上不是太大,那么问题可能出在该字符串的构建效率低下。相反,您应该使用a bytes.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())
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句