错误原因:
控制台结果
解释:
var tmp *int之后:&tmp=0xc00000e028,tmp=nil
在go里面:&取变量所在地址 *取指针指向的地址的值。如下图:
所以上面 tmp=nil,其实就是指针指向的地址值=nil,即还没有指定地址。而*tmp是给指针指向的地址赋值,相当于给nil赋值。这肯定会报空指针了。
错误原因:
控制台结果
解释:
var tmp *int之后:&tmp=0xc00000e028,tmp=nil
在go里面:&取变量所在地址 *取指针指向的地址的值。如下图:
所以上面 tmp=nil,其实就是指针指向的地址值=nil,即还没有指定地址。而*tmp是给指针指向的地址赋值,相当于给nil赋值。这肯定会报空指针了。