如何正确初始化一片地图

时间:2016-06-29 04:16:57

标签: dictionary go slice

所以我希望能够创建一个地图切片,这样当我访问切片的任何元素时,我会得到一个非零地图。

到目前为止,这是我的代码。但我得到了panic: assignment to entry in nil map

的错误
package main

import (
    "fmt"
)

func main() {
    all := make([]map[string]string, 3)
    first := all[0]
    first["hello"] = "world"
    fmt.Println(all)
}

1 个答案:

答案 0 :(得分:3)

我认为作者希望使用默认实例预先启动切片

func main() {
    all := make([]map[string]string, 3)
    for idx, _ := range all {
      all[idx] = map[string]string{}
    }
    first := all[0]
    first["hello"] = "world"
    fmt.Println(all)
}