今天学习了一下数组的操作,写了如下代码
为何我修改了a这个切片的第二个元素的值,但是对原始的切片没有影响呢? 之前学的不这样啊,对数组的切片实际还是对原来数组的引用,如果修改切片后的数组,是对原数组是有影响的啊,但是这里为什么没有?
突然看到,我这里有一个a切片的append的操作,会不会append操作后,a切片就不是之前的a切片了,也就不是对原始数组的引用了?如何证明的,那么我们就打印一下切片的首个元素的内存地址把
我们看到前后两次打印a变量的第一个元素的内存地址是不一样的,所以证明了我的怀疑
然后我把append这个操作注释掉,在确认下前后两次打印的内存地址是否一样
证明我们的猜测,这次前后两次的内存地址是一样的,同样,修改切片后的元素的值,对原始数组也产生了影响