1.append 不修改切片内容,所以一般写法 s1 = append(s1,xxx)
go append 切片增加元素的时候并不会修改切片的内容,但是如果容量足够的情况下,会修改切片指向地址的内容。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4ee0f1dfe0a927896004bc21c6558fbd.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1b2e9d482282050e977cb10d3ddcc0ee.png)
2.append 如果不足以容纳附加的新内容的时候,会重新分配一个切片,原来的切片指向地址内容不会发生改变。
s1容量足够:sd的指向不会发生改变,仅仅长度发生变化。
s1容量不足:重新分配内存,s1指向新的new出来的区域块并且复制s1原来的内容,s1长度发生变化,s1旧的指向块区域内容不变。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1ec5f377795e884eea34cfec6d59882b.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2a5e5ba9ae22f1f6a1800c3f8253c63a.png)
拓展
https://www.cnblogs.com/mushroom/p/8998538.html