与测试一起使用时,方法无法访问全局变量

时间:2018-06-04 12:00:28

标签: go runtime-error panic

使用Golang Testing时,我遇到了问题。方法无法访问全局变量。 以下是代码段

test1.go

var map1 = make(map[string]string)

func f()(req *http.Request) (ismime bool, map1 map[string]string, err 
error) {
 map1["key"]="value"
return true,map1,nil
}

我收到以下错误

  

panic: assignment to entry in nil map [recovered]

     

panic: assignment to entry in nil map

1 个答案:

答案 0 :(得分:4)

从你的评论中看起来你真的不想影响全局变量map1,你只想返回它。

所以你可能想要

func f()(req *http.Request) (bool, map[string]string, error) {
    map1["key"]="value"
    return true, map1, nil
}

返回三个参数,以及它们中的全局变量,看起来很奇怪。可能有些设计不合理。