请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于Slice的一个问题

图片描述
最终打印出来的是 [2,3,4] ,问题就在于,既然改变了s里的元素值,那为什么append进去的0却在外面的s里面找不到呢?在Print函数里面也没有发生扩容的操作。
不知道这是什么原理,希望老师给解答一下

正在回答 回答被采纳积分+3

1回答

bobby 2021-03-27 15:17:02

课程中讲解过slice的原理, 传递到函数中的实际上是一个slice的结构体,这个slice的结构体指明了这个slice的cap和len, 所以你的print函数虽然改变了底层的array中的值,但是实际上外面的s 的len还是3 是无法打印到你append的0这个值的

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信