附加切片未按预期工作

时间:2014-09-25 17:32:00

标签: google-app-engine go

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)
}

不确定什么时间过长但似乎我不能达到预期目的..

1 个答案:

答案 0 :(得分:1)

当您将切片分配给last时,您正在制作切片的副本,因此当您附加的切片不会反映在外部seperated切片中时。

直接分配:

last := len(seperated)-1
seperated[last] = append(seperated[last], wp)