当在nil上调用一个属性或者方法的时候 , 会报空指针
尤其是结构体指针 , 非常容易出现这个问题 , 下面是测试代码
package tools
import "fmt"
func MyTest(...conn2, conn3, conn4)
}
分别返回
,{},&{},&{}
当声明了一个结构体指针变量var conn *MConn , 但是没有初始化 , 直接调用属性时候 , 就会出现...panic: runtime error: invalid memory address or nil pointer dereference
因为conn这个时候是 nil , 是个空指针
一定要进行判空操作...= nil {}
当然我们有时候不会出现这么明显的错误 , 但是在和map进行配合时 , 无意中可能会出现这个错误
var mMap map[string]*MConn
m1 := mMap