第一,当我申请全局map的时候
var IFMap = map[string]*WSConnection{}
我并没有进行make,就可以直接在工程中使用,目前没发现有什么异常,请问这是不是因为WSConnection{}中的大括号表示了初始化,所以map已经被初始化了?
第二,当我使用全局map去存储局部变量的指针时,当局部变量所属函数返回后,我依旧可以从map中获取到该指针中的内容并且内容正确,请问我这里之所以能获取到正确的值,是不是仅仅因为该地址所保存的数据并未被清零?如果程序在运行过程中,该地址被重新分配使用后,便会影响到map中所保存的数据的值?
更多评论
第一个问题:是的
第二个问题:不是,内存escpe了,此内存在堆上分配了,这点和C不一样,可以参见https://golang.google.cn/doc/faq#stack_or_heap
#1