【发布时间】:2018-05-19 16:38:01
【问题描述】:
为什么这段代码有效
graph := make(map[int][]int, 0)
graph[0] = append(graph[0], 1)
但是如果你用graph := make([][]int, 0)替换第一行我得到panic: runtime error: index out of range?这很奇怪。
【问题讨论】:
-
因为 slice 的长度是 0 所以不能追加到它上面
-
@Himanshu 不是追加动态改变切片大小的目的吗?我试过了 graph := [][]int{} 也不管用。
-
是的,但是你必须先设置它的键,因为它的二维切片就是错误的原因。