一尘不染

前往:使用自动返回值初始化地图

go

如果我map[string]string在函数定义中声明了返回值,是否需要在使用它之前就将其赋值,就像我在函数主体中声明了它一样?http://play.golang.org/p/iafZbG2ZbY

package main

import "fmt"

func fill() (a_cool_map map[string]string) {
    // This fixes it: a_cool_map = make(map[string]string)
    a_cool_map["key"] = "value"
    return
}
func main() {
    a_cool_map := fill()
    fmt.Println(a_cool_map)
}

panic: runtime error: assignment to entry in nil map


阅读 215

收藏
2020-07-02

共1个答案

一尘不染

地图类型

未初始化映射的值为nil

使用内置函数可以创建一个新的空映射值make

nil地图相当于不同之处在于可以添加没有元素的空映射。

是。

2020-07-02