回答を得るためにはかなり情報が不足しています。
情報不足の場合は第三者が再現可能なコードにしてください。
cursor.Cursor.Limitが4であるというならスライスから5を参照しようということはあり得ないはずです。
cursor.Cursor.Limitが途中で変化?各部でログをもっと出してみましょう。
前提・実現したいこと
Goぼスライスに値を代入していくのですが、エラーになります
発生している問題・エラーメッセージ
[PANIC RECOVER] runtime error: index out of range [5] with length 5 goroutine 8 [running]
該当のソースコード
//cursor.Cursor.Limit+1 は5が入っている todoModel := make([]*model.ToDo, 0, cursor.Cursor.Limit+1) var model *model.ToDo for i := 0; i < cursor.Cursor.Limit; i++ { doc, err := iter.Next() if err == iterator.Done { break } if err != nil { fmt.Printf("%v", err) return nil, err } if err := doc.DataTo(&model); err != nil { return nil, err } todoModel = append(todoModel[:i], model) }
試したこと
for i := 1 i <= cursor.Cursor.Limit; i++ にすると先頭がnilになりますが、エラーは回避できます
[ null, { "taskid": "90827fa9-2b53-4cd0-a7f4-f04f5cea2c43", "userid": "cabfba4f-7a97-4783-9c69-f82c06198cab", "name": "旅行", "createtime": "2020-06-26T07:16:53.700295Z", "content": "インド", "term": "2020-01-01T10:10:10Z", "status": "Incomplete", "cursor": { "continued": false, "limit": 0 } }, { "taskid": "90827fa9-2b53-4cd0-a7f4-f04f5cea2c43", "userid": "cabfba4f-7a97-4783-9c69-f82c06198cab", "name": "旅行", "createtime": "2020-06-26T07:16:53.700295Z", "content": "インド", "term": "2020-01-01T10:10:10Z", "status": "Incomplete", "cursor": { "continued": false, "limit": 0 } }, { "taskid": "90827fa9-2b53-4cd0-a7f4-f04f5cea2c43", "userid": "cabfba4f-7a97-4783-9c69-f82c06198cab", "name": "旅行", "createtime": "2020-06-26T07:16:53.700295Z", "content": "インド", "term": "2020-01-01T10:10:10Z", "status": "Incomplete", "cursor": { "continued": false, "limit": 0 } }, { "taskid": "90827fa9-2b53-4cd0-a7f4-f04f5cea2c43", "userid": "cabfba4f-7a97-4783-9c69-f82c06198cab", "name": "旅行", "createtime": "2020-06-26T07:16:53.700295Z", "content": "インド", "term": "2020-01-01T10:10:10Z", "status": "Incomplete", "cursor": { "continued": false, "limit": 0 } }, { "taskid": "90827fa9-2b53-4cd0-a7f4-f04f5cea2c43", "userid": "cabfba4f-7a97-4783-9c69-f82c06198cab", "name": "旅行", "createtime": "2020-06-26T07:16:53.700295Z", "content": "インド", "term": "2020-01-01T10:10:10Z", "status": "Incomplete", "cursor": { "continued": false, "limit": 0 } } ]
あなたの回答
tips
プレビュー