老师好,关于append超过capacity的问题

来源:3-3 切片的操作

ericka4381368

2021-04-16 15:40:18

问题描述:

在图片中现实的,向sclice中append元素超过capacity后为什么原来的arr最后一个7变成了10

相关截图:

http://img.mukewang.com/climg/60793f3909f0cb1007940456.jpg


写回答

1回答

weixin_慕慕5233989

2021-04-18

并不是append超过cap的操作将arr最后一个数字变成的10。

而将arr的最后一个数值改为10的是:

s3 := append(s2, 10)

​s2的len是2,cap是3,当向s2进行append一个10的赋值给s3时候,

s3的len是3,cap是3,将s3切片的底层数组中的最后一个值7修改为了10,保证了s3为[5 6 10]

0

0 学习 · 1399 问题

查看课程