【发布时间】:2018-04-02 21:38:00
【问题描述】:
过去 5 到 6 个小时,我一直在弄清楚为什么这段代码会在运行时生成数组索引越界错误。我无法找出原因。你能告诉我需要什么修改来纠正这个代码吗?
spotsArr := make(map[int][]map[int64][]int)
for ind, availableSpot := range availableSpots {
spotsArr[availableSpot.Uid][ind] = make(map[int64][]int)
spotsArr[availableSpot.Uid][ind][availableSpot.Date] = []int{availableSpot.SpotSlug}
}
fmt.Println(spotsArr)
编辑 1:在此处查看完整代码 https://play.golang.org/p/Smm0BFgtNp
编辑 2:实际上我需要做的是以如下格式获取输出:
{ uid: { date: {spot_slug, spot_slug} } }
{ 86: { 1536710400: {1000, 1200, 900},
{ 1536105600: {900} } }
【问题讨论】:
-
在playground 中演示索引越界错误的简短而完整的代码将是完美的。当我尝试创建一个时,发生了很多其他错误:play.golang.org/p/HdkjoU0KXy
-
@har07 感谢回复的小伙伴,请检查代码,我已经更新了问题。
-
你能说一下你想得到什么结果吗?