Golang新手。我试图存储从我们的应用程序端发送的所有路点,但批量大小为100,这是我的代码
json.NewDecoder(r.Body).Decode(payload)
// seperate waypoints into groups
limit := 100
seperated := [][]*waypoint.Waypoint{}
// payload is from api call, basically plain json data
for i, wp := range payload.Batch {
if i%limit == 0 {
seperated = append(seperated, []*waypoint.Waypoint{})
}
last := seperated[len(seperated)-1]
last = append(last, wp)
}
不确定什么时间过长但似乎我不能达到预期目的..
答案 0 :(得分:1)
当您将切片分配给last
时,您正在制作切片的副本,因此当您附加的切片不会反映在外部seperated
切片中时。
直接分配:
last := len(seperated)-1
seperated[last] = append(seperated[last], wp)