声明一个指针类型的变量,我们会这么做:
1 | func main() { |
输出
1 | <nil> |
由此可见,a
确实是一个int类型的指针
,但是并没有为其分配内存空间,所以在我们试图打印其内存地址的时候,输出结果是<nil>
如果我们需要修改该指针指向的值,就不得不为其先分配一个内存地址,我们知道:当变量被声明的时候,会创建内存并分配地址,所以方法一如下:
1 | func main() { |
输出:
1 | 0xc000090000 |
但是显然这样做太麻烦了:我们需要创建一个中间变量b
才能完成给指针类型分配内存地址的工作,这时候,就需要使用new
函数了
方法二:使用new
函数
1 | func main() { |
new
函数可以分配内存地址并返回保存该内存地址的指针