user变量3次输出的地址一样,有几点疑问:
1、在声明user变量,且还未初始化时,user的内存地址就已经分配好了吗?
2、user变量第二次赋值后,地址还是没变,是不是说明两次创建的实例并没有额外占用空间,而是直接在给user变量分配的内存空间上创建的?
3、根据问题2,对比java中如下图,user地址会变化,因为每次new都会创建新的内存空间,这么对比go语言是不是比java少了一次内存创建和回收呀?
4、可不可以理解成,go语言中的实例对象是在变量对应的内存中创建的,而java的实例对象在一个新的地址上创建好,然后变量再指向过去的,就是值传递和引用传递的区别